diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index f07137466d..fefee9e6ba 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -29,23 +29,23 @@ msgstr "Podrobnosti o chybě lze nalézt v panelu administrace"
msgid "Enter date"
msgstr "Zadejte datum"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Poznámky"
@@ -58,23 +58,23 @@ msgstr "Hodnota '{name}' neodpovídá formátu vzoru"
msgid "Provided value does not match required pattern: "
msgstr "Poskytnutá hodnota neodpovídá požadovanému vzoru: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Zadejte heslo"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Zadejte nové heslo"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Potvrďte heslo"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Potvrďte nové heslo"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Původní heslo"
@@ -130,7 +130,7 @@ msgstr "Vzdálený server vrátil prázdnou odpověď"
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Vyplněno neplatné množství"
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Chybějící soubor"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Chybějící externí odkaz"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Příloha"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Odkaz"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Odkaz na externí URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Komentář"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Komentář k souboru"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Uživatel"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "datum přidání"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Název souboru nesmí být prázdný"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Neplatný adresář přílohy"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Název souboru obsahuje nepovolený znak '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Chybějící přípona souboru"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Příloha s tímto názvem již existuje"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Chyba při přejmenování souboru"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Neplatný výběr"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Název"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Popis"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Popis (volitelně)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "nadřazený"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Cesta"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Chyba serveru"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Název souboru"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Neplatná hodnota"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Datový soubor"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Vyberte datový soubor k nahrání"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Nepodporovaný typ souboru"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Soubor je příliš velký"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "V souboru nebyly nalezeny žádné sloupce"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "V souboru nebyly nalezeny žádné řádky s daty"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Nebyly zadány žádné řádky s daty"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Nebyly zadány žádné sloupce s daty"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Chybí povinný sloupec: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicitní sloupec: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Čeština"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Němčina"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Řečtina"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Angličtina"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Španělština"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Španělština (Mexiko)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Perština"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Francouzština"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebrejština"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Maďarština"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italština"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japonština"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Korejština"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Nizozemština"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norština"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polština"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugalština"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugalština (Brazilská)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Ruština"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Švédština"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thajština"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Turečtina"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamština"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Čínština"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Kontrola procesů na pozadí se nezdařila"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Kontroly zdraví systému InvenTree selhaly"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Nevyřízeno"
@@ -579,8 +592,8 @@ msgstr "Ztraceno"
msgid "Returned"
msgstr "Vráceno"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Odesláno"
@@ -664,7 +677,7 @@ msgstr "Rozdělit od nadřazené položky"
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr ""
@@ -672,7 +685,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Odesláno zákazníkovi"
@@ -721,27 +734,27 @@ msgstr ""
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Upravit informace o uživateli"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Nastavit heslo"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Hesla se musí shodovat"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Informace o systému"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr ""
@@ -749,44 +762,44 @@ msgstr ""
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr ""
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr ""
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr ""
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Díl"
@@ -855,8 +869,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr ""
@@ -896,21 +910,21 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr ""
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr ""
@@ -918,8 +932,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr ""
@@ -927,7 +941,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr ""
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr ""
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr ""
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr ""
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Jméno společnosti"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "Nastavení oprávnění"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr "Skupina"
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "Zobrazit"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "Oprávnění k zobrazení položek"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "Oprávnění přidat položky"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr "Změnit"
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "Oprávnění k úpravě položek"
-#: users/models.py:225
+#: users/models.py:231
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 46b2af2037..3e1c173de6 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-15 21:25\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -29,23 +29,23 @@ msgstr "Fejloplysninger kan findes i admin panelet"
msgid "Enter date"
msgstr "Angiv dato"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Bemærkninger"
@@ -58,23 +58,23 @@ msgstr "Værdi '{name}' vises ikke i mønsterformat"
msgid "Provided value does not match required pattern: "
msgstr "Den angivne værdi matcher ikke det påkrævede mønster: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Indtast adgangskode"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Indtast ny adgangskode"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Bekræft adgangskode"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Bekræft ny adgangskode"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Gammel adgangskode"
@@ -130,7 +130,7 @@ msgstr "Fjernserver returnerede tomt svar"
msgid "Supplied URL is not a valid image file"
msgstr "Angivet URL er ikke en gyldig billedfil"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Ugyldigt antal angivet"
@@ -170,23 +170,23 @@ msgstr "Antal unikke serienumre ({s}) skal matche antal ({q})"
msgid "Remove HTML tags from this value"
msgstr "Fjern HTML-tags fra denne værdi"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Forkert formateret mønster"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Ukendt formatnøgle angivet"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Mangler nødvendig formatnøgle"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Referencefelt må ikke være tomt"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Reference skal matche det påkrævede mønster"
@@ -194,350 +194,363 @@ msgstr "Reference skal matche det påkrævede mønster"
msgid "Reference number is too large"
msgstr "Referencenummer er for stort"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Manglende fil"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Manglende eksternt link"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Vedhæftning"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Vælg fil, der skal vedhæftes"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Link til ekstern URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Kommentar"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Bruger"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "dato for upload"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Filnavn må ikke være tomt"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Ugyldig vedhæftningsmappe"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Filnavn indeholder ugyldigt tegn '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Filnavn mangler filtype"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Vedhæftning med dette filnavn findes allerede"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Fejl ved omdøbning af fil"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Ugyldigt valg"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Navn"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Beskrivelse"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Beskrivelse (valgfri)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "overordnet"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Sti"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Stregkode Data"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Tredjeparts stregkode data"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Stregkode Hash"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Unik hash af stregkode data"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Eksisterende stregkode fundet"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Serverfejl"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "En fejl blev logget af serveren."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Skal være et gyldigt tal"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Filnavn"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Ugyldig værdi"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Vælg datafilen til upload"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Filtype ikke understøttet"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Filen er for stor"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Ingen kolonner fundet i fil"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Ingen datarækker fundet i fil"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Ingen data-rækker angivet"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Ingen data-kolonner angivet"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Mangler påkrævet kolonne: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikeret kolonne: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL til ekstern billedfil"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Tjekkisk"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Dansk"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Græsk"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Spansk (Mexikansk)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Hollandsk"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasilien)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Slovensk"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Kinesisk"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Kontrol af baggrundstjeneste mislykkedes"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Helbredstjek af InvenTree system mislykkedes"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Afventende"
@@ -579,8 +592,8 @@ msgstr "Mistet"
msgid "Returned"
msgstr "Returneret"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Afsendt"
@@ -664,7 +677,7 @@ msgstr "Opdel fra overordnet element"
msgid "Split child item"
msgstr "Opdel underordnet element"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Flettede lagervarer"
@@ -672,7 +685,7 @@ msgstr "Flettede lagervarer"
msgid "Converted to variant"
msgstr "Konverteret til variant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Sendt til kunde"
@@ -721,27 +734,27 @@ msgstr "Overskuddet må ikke overstige 100%"
msgid "Invalid value for overage"
msgstr "Ugyldig værdi for overskud"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Rediger brugerinformation"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Vælg adgangskode"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "De indtastede adgangskoder skal være ens"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Forkert adgangskode indtastet"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Systemoplysninger"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Om InvenTree"
@@ -749,44 +762,44 @@ msgstr "Om InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Produktion skal anulleres, før den kan slettes"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Ugyldigt valg for overordnet produktion"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Produktionsordre"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Produktionsordrer"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Ugyldigt valg for overordnet produktion"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Produktionsordre reference"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Reference"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produktionsordre som er tildelt denne produktion"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Del"
@@ -855,8 +869,8 @@ msgstr "Salgsordrereference"
msgid "SalesOrder to which this build is allocated"
msgstr "Salgsordre, som er tildelt denne produktion"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Kilde Lokation"
@@ -896,21 +910,21 @@ msgstr "Produktions Status"
msgid "Build status code"
msgstr "Produktions statuskode"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Batch Kode"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Batch kode til dette produktions output"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Oprettelsesdato"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Projekteret afslutningsdato"
@@ -918,8 +932,8 @@ msgstr "Projekteret afslutningsdato"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Dato for afslutning"
@@ -927,7 +941,7 @@ msgstr "Dato for afslutning"
msgid "completed by"
msgstr "udført af"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Udstedt af"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Bruger som udstedte denne byggeordre"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Ansvarlig"
@@ -952,8 +966,8 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre"
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Ekstern link"
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr ""
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr ""
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 52d475a701..20513e2b6b 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:03\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -29,23 +29,23 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel"
msgid "Enter date"
msgstr "Datum eingeben"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Notizen"
@@ -58,23 +58,23 @@ msgstr "Wert '{name}' hält das Musterformat nicht ein"
msgid "Provided value does not match required pattern: "
msgstr "Angegebener Wert entspricht nicht dem benötigten Muster: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Passwort eingeben"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Neues Passwort eingeben"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Passwort wiederholen"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Neues Passwort bestätigen"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Altes Passwort"
@@ -130,7 +130,7 @@ msgstr "Remote-Server gab leere Antwort zurück"
msgid "Supplied URL is not a valid image file"
msgstr "Angegebene URL ist kein gültiges Bild"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
@@ -170,374 +170,387 @@ msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) üb
msgid "Remove HTML tags from this value"
msgstr "Entferne HTML-Tags von diesem Wert"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Falsch formatiertes Muster"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Unbekannter Formatschlüssel angegeben"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Erforderlicher Formatschlüssel fehlt"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Referenz-Feld darf nicht leer sein"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
-msgstr "Referenz erforderlichem Muster entsprechen"
+msgstr "Referenz muss erforderlichem Muster entsprechen"
#: InvenTree/models.py:306
msgid "Reference number is too large"
msgstr "Referenznummer ist zu groß"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Fehlende Datei"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Fehlender externer Link"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Anhang"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Kommentar"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Benutzer"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "Hochladedatum"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Dateiname darf nicht leer sein"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Ungültiges Verzeichnis für Anhang"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Dateiname enthält ungültiges Zeichen '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Dateiendung fehlt"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Anhang mit diesem Dateinamen bereits vorhanden"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Fehler beim Umbenennen"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren"
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Ungültige Auswahl"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Name"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Beschreibung"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Beschreibung (optional)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "Eltern"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Pfad"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Barcode-Daten"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Drittanbieter-Barcode-Daten"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Barcode-Hash"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Eindeutiger Hash der Barcode-Daten"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Bestehender Barcode gefunden"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Serverfehler"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Ein Fehler wurde vom Server protokolliert."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Währung"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr "Währung aus verfügbaren Optionen auswählen"
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Dateiname"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Ungültiger Wert"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Datendatei"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Neue Datei zum Hochladen auswählen"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Nicht unterstütztes Dateiformat"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Datei ist zu groß"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Keine Spalten in der Datei gefunden"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Keine Datensätze in der Datei gefunden"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Keine Zeilen ausgewählt"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Keine Spalten angegeben"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Erforderliche Spalte '{name}' fehlt"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Doppelte Spalte: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL der Remote-Bilddatei"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Tschechisch"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Dänisch"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Griechisch"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Spanisch"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Spanisch (Mexikanisch)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Persisch"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebräisch"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Ungarisch"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italienisch"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japanisch"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Koreanisch"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Niederländisch"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norwegisch"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugiesisch"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugiesisch (Brasilien)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Slowenisch"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Schwedisch"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thailändisch"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Türkisch"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamesisch"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Chinesisch"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "InvenTree Status-Überprüfung fehlgeschlagen"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Ausstehend"
@@ -579,8 +592,8 @@ msgstr "Verloren"
msgid "Returned"
msgstr "Zurückgegeben"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Versendet"
@@ -664,7 +677,7 @@ msgstr "Vom übergeordneten Element geteilt"
msgid "Split child item"
msgstr "Unterobjekt geteilt"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Lagerartikel zusammengeführt"
@@ -672,7 +685,7 @@ msgstr "Lagerartikel zusammengeführt"
msgid "Converted to variant"
msgstr "In Variante umgewandelt"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Zum Kunden geschickt"
@@ -721,27 +734,27 @@ msgstr "Überschuss darf 100% nicht überschreiten"
msgid "Invalid value for overage"
msgstr "Ungültiger Wert für Ausschuss"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Benutzerinformationen bearbeiten"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Passwort eingeben"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Passwörter stimmen nicht überein"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Falsches Passwort angegeben"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Systeminformationen"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Über InvenTree"
@@ -749,44 +762,44 @@ msgstr "Über InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Ungültige Wahl für übergeordneten Bauauftrag"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Bauauftrag"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Bauaufträge"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Ungültige Wahl für übergeordneten Bauauftrag"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referenz"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Teil"
@@ -855,8 +869,8 @@ msgstr "Auftrag Referenz"
msgid "SalesOrder to which this build is allocated"
msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Quell-Lagerort"
@@ -896,21 +910,21 @@ msgstr "Bauauftrags-Status"
msgid "Build status code"
msgstr "Bau-Statuscode"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Losnummer"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Erstelldatum"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "geplantes Fertigstellungsdatum"
@@ -918,8 +932,8 @@ msgstr "geplantes Fertigstellungsdatum"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Zieldatum für Bauauftrag-Fertigstellung."
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
@@ -927,7 +941,7 @@ msgstr "Fertigstellungsdatum"
msgid "completed by"
msgstr "Fertiggestellt von"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Aufgegeben von"
@@ -936,24 +950,24 @@ msgid "User who issued this build order"
msgstr "Nutzer der diesen Bauauftrag erstellt hat"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Verantwortlicher Benutzer"
#: build/models.py:285
msgid "User or group responsible for this build order"
-msgstr ""
+msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag"
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Externer Link"
@@ -999,11 +1013,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Reserviermenge muss größer null sein"
@@ -1016,7 +1030,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:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Bauauftrag"
@@ -1025,18 +1039,18 @@ msgstr "Bauauftrag"
msgid "Build to allocate parts"
msgstr "Bauauftrag starten um Teile zuzuweisen"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Lagerartikel"
@@ -1044,12 +1058,12 @@ msgstr "Lagerartikel"
msgid "Source stock item"
msgstr "Quell-Lagerartikel"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Quell-Lagerartikel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Anzahl"
@@ -1097,249 +1110,249 @@ msgstr "Installiere in"
msgid "Destination stock item"
msgstr "Ziel-Lagerartikel"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Endprodukt"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Dieses Endprodukt wurde bereits fertiggestellt"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Menge der Endprodukte angeben"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "Ganzzahl für verfolgbare Teile erforderlich"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält"
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Seriennummer"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Seriennummer für dieses Endprodukt eingeben"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "Seriennummern automatisch zuweisen"
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen"
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig"
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr "Eine Liste von Endprodukten muss angegeben werden"
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Lagerort"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr "Lagerort für fertige Endprodukte"
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Status"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr "Unvollständige Zuweisung akzeptieren"
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde"
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr "Zugewiesenen Bestand entfernen"
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr "Abzug aller Lagerbestände, die diesem Build bereits zugewiesen wurden"
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr "Unfertige Endprodukte entfernen"
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte"
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr "Als von diesem Bauauftrag verbraucht setzen"
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben"
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr "Überbelegter Lagerbestand"
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Wie sollen zusätzliche Lagerbestandteile, die dem Bauauftrag zugewiesen wurden, behandelt werden"
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr "Der Bestand einiger Lagerartikel ist überbelegt"
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "Nicht zugewiesene akzeptieren"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Unvollständig Zuweisung akzeptieren"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr "Bauauftrag hat unvollständige Aufbauten"
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "Stücklisten-Position"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr "Endprodukt"
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen"
-#: build/serializers.py:655
+#: build/serializers.py:665
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:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "Teil muss auf Lager sein"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Verfügbare Menge ({q}) überschritten"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein"
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden"
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen"
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr "Zuweisungen müssen angegeben werden"
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "Lagerort ausschließen"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "Lagerartikel vom ausgewählten Ort ausschließen"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr "Wechselbares Lagerbestand"
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "Ersatzbestand"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr "Zuordnung von Ersatzteilen erlauben"
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr "Optionale Positionen"
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen"
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Zieldatum"
@@ -1445,29 +1458,29 @@ msgstr "Bauauftrag war fällig am %(target)s"
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Überfällig"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Fertig"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Auftrag"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Aufgegeben von"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr "Priorität"
@@ -1498,8 +1511,8 @@ msgstr "Ausgangs-Lager"
msgid "Stock can be taken from any available location."
msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden."
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Ziel-Lager"
@@ -1511,21 +1524,21 @@ msgstr "Ziel-Lagerort nicht angegeben"
msgid "Allocated Parts"
msgstr "Zugewiesene Teile"
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Losnummer"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Erstellt"
@@ -1545,7 +1558,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:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "Bestandszuordnung aufheben"
@@ -1576,7 +1589,7 @@ msgstr "Benötigte Teile bestellen"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Teile bestellen"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr "Endprodukte löschen"
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "Druck Aktionen"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Label drucken"
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr "Fertiggestellte Endprodukte"
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Anhänge"
@@ -1666,7 +1681,7 @@ msgstr "Zuordnung abgeschlossen"
msgid "All untracked stock items have been allocated"
msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Neuer Bauauftrag"
@@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Datei"
msgid "Select {name} file to upload"
msgstr "{name} Datei zum Hochladen auswählen"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr "Aktualisiert"
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr "Zeitstempel der letzten Aktualisierung"
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr "Einstellungs-Wert"
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr "Wert ist keine gültige Option"
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr "Wahrheitswert erforderlich"
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr "Schlüsseltext muss eindeutig sein"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr "Keine Gruppe"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr "Eine leere Domain ist nicht erlaubt."
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr "Ungültiger Domainname: {domain}"
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Neustart erforderlich"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert"
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr "Name der Serverinstanz"
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr "Kurze Beschreibung der Instanz"
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr "Name der Instanz verwenden"
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr "Den Namen der Instanz in der Titelleiste verwenden"
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr "Anzeige von `Über` einschränken"
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr "Zeige das `Über` Fenster nur Administratoren"
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Firmenname"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "interner Firmenname"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "Basis-URL"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "Basis-URL für dieses Instanz"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Standardwährung"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr "Wählen Sie die Basiswährung für die Preiskalkulation"
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Von URL herunterladen"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr "Download-Größenlimit"
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr "Maximal zulässige Größe für heruntergeladene Bilder"
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr "Benutzer-Agent zum Herunterladen von Daten"
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Überschreiben des Benutzer-Agenten, der verwendet wird, um Bilder und Dateien von externer Servern herunterzuladen (leer für die Standardeinstellung)"
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr "Bestätigung verpflichtend"
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr "Eine ausdrückliche Benutzerbestätigung für bestimmte Aktionen erfordern."
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr "Baumtiefe"
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr "Standard Ebene für Baumansicht. Tiefere Ebenen kann bei Bedarf nachgeladen werden."
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr "Automatische Sicherung"
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren"
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr "Tage zwischen Sicherung"
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr "Anzahl der Tage zwischen automatischen Sicherungen"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr "Alte Aufgaben löschen"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr "Ergebnisse der Hintergrundaufgabe werden nach der angegebenen Anzahl von Tagen gelöscht"
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr "Fehlerprotokolle löschen"
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr "Fehlerprotokolle werden nach der angegebenen Anzahl von Tagen gelöscht"
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr "Benachrichtigungen löschen"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr "Benutzerbenachrichtigungen werden nach der angegebenen Anzahl von Tagen gelöscht"
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Bacode-Feature verwenden"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Barcode-Scanner Unterstützung"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr "Barcode-Eingabeverzögerung"
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr "Verzögerungszeit bei Barcode-Eingabe"
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr "Barcode Webcam-Unterstützung"
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr "Barcode-Scannen über Webcam im Browser erlauben"
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Baugruppe"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Komponente"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Verkäuflich"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr "Import in Ansichten anzeigen"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr "Importassistent in einigen Teil-Ansichten anzeigen"
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "Verwandte Teile anzeigen"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr "Verwandte Teile eines Teils anzeigen"
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr "Initialer Lagerbestand"
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben"
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr "Initiale Lieferantendaten"
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Erstellen von Lieferantendaten beim Hinzufügen eines neuen Teils erlauben"
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr "Anzeigeformat für Teilenamen"
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr "Format für den Namen eines Teiles"
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr "Standardsymbol der Teilkategorie"
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)"
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr "Dezimalstellen für Preise"
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr "Anzahl der Dezimalstellen, die bei der Darstellung der Preisdaten angezeigt werden sollen"
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr "Zulieferer-Preise verwenden"
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen"
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr "Kaufverlauf überschreiben"
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise"
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr "Lagerartikel-Preis verwenden"
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden"
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr "Lagerartikelpreis Alter"
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen"
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr "Variantenpreise verwenden"
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen"
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr "Nur aktive Varianten"
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden"
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr "Neuberechnungs-Zyklus für Preisinformationen"
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden"
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr "Tage"
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr "Interne Preise"
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr "Interne Preise für Teile aktivieren"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr "Interne Preisüberschreibung"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr "Labeldruck aktivieren"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr "Labeldruck über die Website aktivieren"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr "Label Bild DPI"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins"
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr "Berichte aktivieren"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr "Berichterstellung aktivieren"
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr "Testberichte aktivieren"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr "Testberichte anhängen"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen"
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr "Global einzigartige Seriennummern"
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein"
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr "Seriennummern automatisch ausfüllen"
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr "Seriennummern in Formularen automatisch ausfüllen"
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr "Erschöpften Lagerartikel löschen"
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel erschöpft ist"
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr "Losnummer Vorlage"
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände"
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr "Standardsymbol für Lagerort"
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)"
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr "Bauauftragsreferenz-Muster"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr "Auftragsreferenz-Muster"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr "Auftrag Standardsendung"
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr "Erstelle eine Standardsendung für Aufträge"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr "Abgeschlossene Verkaufsaufträge bearbeiten"
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Bearbeitung von Verkaufsaufträgen nach Versand oder Abschluss erlauben"
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr "Bestellungsreferenz-Muster"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr "Abgeschlossene Einkaufsaufträge bearbeiten"
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben"
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr "Passwort vergessen aktivieren"
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr "Registrierung erlauben"
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr "SSO aktivieren"
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr "SSO auf den Anmeldeseiten aktivieren"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr "SSO Selbstregistrierung aktivieren"
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren"
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "Email-Adresse erforderlich"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr "SSO-Benutzer automatisch ausfüllen"
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen"
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr "E-Mail zweimal"
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr "Passwort zweimal"
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr "Erlaubte Domains"
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr "Anmeldung auf bestimmte Domänen beschränken (komma-separiert, mit @ startend)"
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr "Gruppe bei Registrierung"
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden"
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr "MFA erzwingen"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden."
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr "Plugins beim Start prüfen"
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren"
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr "Plugin-Signaturen überprüfen"
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr "Signaturen für Plugins prüfen und anzeigen"
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr "URL-Integration aktivieren"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr "Plugins zum Hinzufügen von URLs aktivieren"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr "Navigations-Integration aktivieren"
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr "Plugins zur Integration in die Navigation aktivieren"
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr "App-Integration aktivieren"
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr "Plugins zum Hinzufügen von Apps aktivieren"
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr "Terminplan-Integration aktivieren"
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr "Geplante Aufgaben aktivieren"
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr "Ereignis-Integration aktivieren"
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren"
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr "Inventurfunktionen"
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr "Inventur-Funktionen zur Aufzeichnung von Lagerbeständen und zur Berechnung des Lagerwerts aktivieren"
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr "Automatische Inventur-Periode"
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr "Anzahl der Tage zwischen automatischen Bestandsaufnahmen (zum Deaktivieren auf Null setzen)"
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr "Alte Berichte löschen"
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht"
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr "Kein Drucker (Exportieren als PDF)"
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr "Abonnierte Teile anzeigen"
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr "Zeige abonnierte Teile auf der Startseite"
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr "Abonnierte Kategorien anzeigen"
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr "Zeige abonnierte Teilkategorien auf der Startseite"
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Neueste Teile anzeigen"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Zeige neueste Teile auf der Startseite"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr "Nicht validierte Stücklisten anzeigen"
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite"
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr "Neueste Bestandänderungen anzeigen"
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite"
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr "Niedrigen Bestand anzeigen"
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr "Zeige geringen Bestand auf der Startseite"
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr "Lerren Bestand anzeigen"
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite"
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr "Benötigten Bestand anzeigen"
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr "Zeige Bestand für Bauaufträge auf der Startseite"
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr "Abgelaufenen Bestand anzeigen"
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr "Zeige abgelaufene Lagerbestände auf der Startseite"
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr "Alten Bestand anzeigen"
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr "Zeige überfällige Lagerartikel auf der Startseite"
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr "Ausstehende Bauaufträge anzeigen"
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr "Zeige ausstehende Bauaufträge auf der Startseite"
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr "Zeige überfällige Bauaufträge"
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr "Zeige überfällige Bauaufträge auf der Startseite"
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr "Ausstehende POs anzeigen"
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr "Zeige ausstehende POs auf der Startseite"
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr "Überfällige POs anzeigen"
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr "Zeige überfällige POs auf der Startseite"
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr "Ausstehende SOs anzeigen"
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr "Zeige ausstehende SOs auf der Startseite"
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr "Überfällige SOs anzeigen"
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr "Zeige überfällige SOs auf der Startseite"
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr "Zeige Neuigkeiten"
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr "Neuigkeiten auf der Startseite anzeigen"
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr "Label inline anzeigen"
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1747
+#: common/models.py:1795
+msgid "Default label printer"
+msgstr "Standard-Etikettendrucker"
+
+#: common/models.py:1796
+msgid "Configure which label printer should be selected by default"
+msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren"
+
+#: common/models.py:1802
msgid "Inline report display"
msgstr "Berichte inline anzeigen"
-#: common/models.py:1748
+#: common/models.py:1803
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1754
+#: common/models.py:1809
msgid "Search Parts"
msgstr "Teile suchen"
-#: common/models.py:1755
+#: common/models.py:1810
msgid "Display parts in search preview window"
msgstr "Teile in der Suchvorschau anzeigen"
-#: common/models.py:1761
+#: common/models.py:1816
msgid "Seach Supplier Parts"
msgstr "Zuliefererteile durchsuchen"
-#: common/models.py:1762
+#: common/models.py:1817
msgid "Display supplier parts in search preview window"
msgstr "Zuliefererteile in der Suchvorschau anzeigen"
-#: common/models.py:1768
+#: common/models.py:1823
msgid "Search Manufacturer Parts"
msgstr "Herstellerteile durchsuchen"
-#: common/models.py:1769
+#: common/models.py:1824
msgid "Display manufacturer parts in search preview window"
msgstr "Herstellerteile in der Suchvorschau anzeigen"
-#: common/models.py:1775
+#: common/models.py:1830
msgid "Hide Inactive Parts"
msgstr "Inaktive Teile ausblenden"
-#: common/models.py:1776
+#: common/models.py:1831
msgid "Excluded inactive parts from search preview window"
msgstr "Inaktive Teile in der Suchvorschau ausblenden"
-#: common/models.py:1782
+#: common/models.py:1837
msgid "Search Categories"
msgstr "Kategorien durchsuchen"
-#: common/models.py:1783
+#: common/models.py:1838
msgid "Display part categories in search preview window"
msgstr "Teilekategorien in der Suchvorschau anzeigen"
-#: common/models.py:1789
+#: common/models.py:1844
msgid "Search Stock"
msgstr "Bestand durchsuchen"
-#: common/models.py:1790
+#: common/models.py:1845
msgid "Display stock items in search preview window"
msgstr "Lagerartikel in Suchvorschau anzeigen"
-#: common/models.py:1796
+#: common/models.py:1851
msgid "Hide Unavailable Stock Items"
msgstr "Nicht verfügbare Artikel ausblenden"
-#: common/models.py:1797
+#: common/models.py:1852
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen"
-#: common/models.py:1803
+#: common/models.py:1858
msgid "Search Locations"
msgstr "Lagerorte durchsuchen"
-#: common/models.py:1804
+#: common/models.py:1859
msgid "Display stock locations in search preview window"
msgstr "Lagerorte in Suchvorschau anzeigen"
-#: common/models.py:1810
+#: common/models.py:1865
msgid "Search Companies"
msgstr "Firmen durchsuchen"
-#: common/models.py:1811
+#: common/models.py:1866
msgid "Display companies in search preview window"
msgstr "Firmen in der Suchvorschau anzeigen"
-#: common/models.py:1817
+#: common/models.py:1872
msgid "Search Build Orders"
msgstr "Bauaufträge durchsuchen"
-#: common/models.py:1818
+#: common/models.py:1873
msgid "Display build orders in search preview window"
msgstr "Bauaufträge in der Suchvorschau anzeigen"
-#: common/models.py:1824
+#: common/models.py:1879
msgid "Search Purchase Orders"
msgstr "Bestellungen durchsuchen"
-#: common/models.py:1825
+#: common/models.py:1880
msgid "Display purchase orders in search preview window"
msgstr "Bestellungen in der Suchvorschau anzeigen"
-#: common/models.py:1831
+#: common/models.py:1886
msgid "Exclude Inactive Purchase Orders"
msgstr "Inaktive Bestellungen ausblenden"
-#: common/models.py:1832
+#: common/models.py:1887
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden"
-#: common/models.py:1838
+#: common/models.py:1893
msgid "Search Sales Orders"
msgstr "Aufträge durchsuchen"
-#: common/models.py:1839
+#: common/models.py:1894
msgid "Display sales orders in search preview window"
msgstr "Aufträge in der Suchvorschau anzeigen"
-#: common/models.py:1845
+#: common/models.py:1900
msgid "Exclude Inactive Sales Orders"
msgstr "Inaktive Aufträge ausblenden"
-#: common/models.py:1846
+#: common/models.py:1901
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inaktive Aufträge in der Suchvorschau ausblenden"
-#: common/models.py:1852
+#: common/models.py:1907
msgid "Search Preview Results"
msgstr "Anzahl Suchergebnisse"
-#: common/models.py:1853
+#: common/models.py:1908
msgid "Number of results to show in each section of the search preview window"
msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen"
-#: common/models.py:1859
+#: common/models.py:1914
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:1860
+#: common/models.py:1915
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:1866
+#: common/models.py:1921
msgid "Escape Key Closes Forms"
msgstr "Esc-Taste schließt Formulare"
-#: common/models.py:1867
+#: common/models.py:1922
msgid "Use the escape key to close modal forms"
msgstr "Benutze die Esc-Taste, um Formulare zu schließen"
-#: common/models.py:1873
+#: common/models.py:1928
msgid "Fixed Navbar"
msgstr "Fixierter Navigationsleiste"
-#: common/models.py:1874
+#: common/models.py:1929
msgid "The navbar position is fixed to the top of the screen"
msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren"
-#: common/models.py:1880
+#: common/models.py:1935
msgid "Date Format"
msgstr "Datumsformat"
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr "Bevorzugtes Format für die Anzeige von Daten"
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Teilzeitplanung"
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr "Zeige Zeitplanung für Teile"
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Inventur"
-#: common/models.py:1903
-msgid "Display part stocktake information"
-msgstr "Inventurinformationen anzeigen"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
+msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)"
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr "Zeichenkettenlänge in Tabellen"
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden"
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Preis"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr "Endpunkt"
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr "Ist dieser Webhook aktiv"
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr "Token"
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr "Token für Zugang"
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr "Geheimnis"
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr "Shared Secret für HMAC"
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr "Nachrichten-ID"
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr "Eindeutige Kennung für diese Nachricht"
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr "Host"
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr "Host von dem diese Nachricht empfangen wurde"
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr "Kopfzeile"
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr "Header dieser Nachricht"
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr "Body"
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr "Body dieser Nachricht"
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr "Endpunkt, über den diese Nachricht empfangen wurde"
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr "Bearbeitet"
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?"
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr "ID"
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr "Titel"
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr "Veröffentlicht"
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autor"
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr "Zusammenfassung"
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr "Gelesen"
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr "Wurde diese Nachricht gelesen?"
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Datei hochgeladen"
@@ -3023,7 +3073,7 @@ msgstr "Datei hochgeladen"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Übereinstimmende Felder"
@@ -3061,7 +3111,7 @@ msgstr "Firmenbeschreibung"
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Website"
@@ -3106,7 +3156,7 @@ msgstr "Anlaufstelle"
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Bild"
@@ -3138,229 +3188,219 @@ msgstr "ist Hersteller"
msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Währung"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr "Basisteil"
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "Teil auswählen"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Hersteller"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Hersteller auswählen"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr "MPN"
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "Hersteller-Teilenummer"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr "Externe URL für das Herstellerteil"
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr "Teilbeschreibung des Herstellers"
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Herstellerteil"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "Parametername"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Wert"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "Parameterwert"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "Einheiten"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "Parametereinheit"
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Zulieferer"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Zulieferer auswählen"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr "SKU (Lagerbestandseinheit)"
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr "Herstellerteil auswählen"
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr "Teil-URL des Zulieferers"
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr "Zuliefererbeschreibung des Teils"
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Notiz"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr "Basiskosten"
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr "Mindestpreis"
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "Verpackungen"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr "Teile-Verpackungen"
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr "Packmenge"
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr "Stückmenge in einer einzelnen Verpackungseinheit"
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr "Vielfache"
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr "Mehrere bestellen"
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr "Verfügbar"
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr "Verfügbare Menge von Lieferanten"
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr "Verfügbarkeit aktualisiert"
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr "Datum des letzten Updates der Verfügbarkeitsdaten"
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr "Standard-Währung für diesen Zulieferer"
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Währungscode"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "Firma"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr "Basisteil"
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "Teil auswählen"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Hersteller"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Hersteller auswählen"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr "MPN"
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "Hersteller-Teilenummer"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr "Externe URL für das Herstellerteil"
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr "Teilbeschreibung des Herstellers"
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Herstellerteil"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "Parametername"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Wert"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "Parameterwert"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "Einheiten"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "Parametereinheit"
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Zulieferer"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Zulieferer auswählen"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr "SKU (Lagerbestandseinheit)"
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr "Herstellerteil auswählen"
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr "Teil-URL des Zulieferers"
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr "Zuliefererbeschreibung des Teils"
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Notiz"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr "Basiskosten"
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr "Mindestpreis"
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "Verpackungen"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr "Teile-Verpackungen"
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr "Packmenge"
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr "Stückmenge in einer einzelnen Verpackungseinheit"
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr "Vielfache"
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr "Mehrere bestellen"
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr "Verfügbar"
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr "Verfügbare Menge von Lieferanten"
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr "Verfügbarkeit aktualisiert"
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr "Datum des letzten Updates der Verfügbarkeitsdaten"
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr "Standard-Währung für diesen Zulieferer"
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Bestellung anlegen"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr "Firmeninformation bearbeiten"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "Firma bearbeiten"
@@ -3401,14 +3441,14 @@ msgstr "Bild von URL herunterladen"
msgid "Delete image"
msgstr "Bild löschen"
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Kunde"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr "Bild entfernen"
@@ -3430,19 +3470,19 @@ 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:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Bild hochladen"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "Bild herunterladen"
@@ -3458,13 +3498,13 @@ msgstr "Neues Zuliefererteil anlegen"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Neues Zuliefererteil"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Teile bestellen"
@@ -3487,7 +3527,7 @@ msgstr "Herstellerteile"
msgid "Create new manufacturer part"
msgstr "Neues Herstellerteil anlegen"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Neues Herstellerteil"
@@ -3501,11 +3541,11 @@ msgstr "Zulieferer-Bestand"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Bestellungen"
@@ -3524,11 +3564,11 @@ msgstr "Neue Bestellung"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Aufträge"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "Neuer Auftrag"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
@@ -3558,17 +3598,17 @@ msgstr "Hersteller"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Teil bestellen"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "Herstellerteil bearbeiten"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "Herstellerteil löschen"
@@ -3583,34 +3623,34 @@ msgstr "Keine Herstellerdaten verfügbar"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Zulieferer"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr "Zuliefererteil entfernen"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "Löschen"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parameter"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr "Parameter löschen"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr "Parameter hinzufügen"
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr "Zugewiesene Lagerartikel"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Zuliefererteil"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr "Barcode Aktionen"
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR-Code anzeigen"
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr "Barcode abhängen"
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr "Barcode anhängen"
@@ -3685,7 +3725,7 @@ msgstr "Zulieferer-Teil Aktionen"
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "Teil bestellen"
@@ -3696,13 +3736,13 @@ msgstr "Verfügbarkeit aktualisieren"
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr "Zuliefererteil bearbeiten"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr "Zulieferer-Teil duplizieren"
@@ -3717,7 +3757,7 @@ msgstr "Zuliefererteil entfernen"
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr "Barcode-Bezeichner"
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr "Keine Lieferanteninformationen verfügbar"
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Zulieferer-Bestand"
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr "Neuen Lagerartikel hinzufügen"
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr "Neuer Lagerartikel"
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Zulieferer-Bestellungen"
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr "Preisinformationen ansehen"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr "Preisstaffel hinzufügen"
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr "Zuliefererteil QR-Code"
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr "Barcode mit Zuliefererteil verknüpfen"
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr "Teilverfügbarkeit aktualisieren"
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Bestand"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Lagerartikel"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Bestellungen"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr "Zuliefererteil Bepreisung"
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "Bepreisung"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Lagerartikel"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "Neuer Zulieferer"
@@ -3828,10 +3848,6 @@ msgstr "Firmen"
msgid "New Company"
msgstr "Neue Firma"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr "Lagerartikel-QR-Code"
-
#: label/models.py:102
msgid "Label name"
msgstr "Label Name"
@@ -3848,7 +3864,7 @@ msgstr "Label"
msgid "Label template file"
msgstr "Label-Vorlage-Datei"
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr "Aktiviert"
@@ -3872,7 +3888,7 @@ msgstr "Höhe [mm]"
msgid "Label height, specified in mm"
msgstr "Label-Höhe in mm"
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr "Dateinamen-Muster"
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Filter"
@@ -3897,447 +3913,443 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr "Keine passende Bestellung gefunden"
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr "Unbekannt"
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr "Bestellungs-Beschreibung"
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr "Link auf externe Seite"
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr "Erstellt von"
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind"
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr "Bestell-Notizen"
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr "Bestell-Referenz"
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr "Bestellungs-Status"
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "Firma bei der die Teile bestellt werden"
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr "Zulieferer-Referenz"
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr "Zulieferer Bestellreferenz"
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr "Empfangen von"
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr "Aufgabedatum"
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr "Datum an dem die Bestellung aufgegeben wurde"
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Ziel-Versanddatum"
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Geplantes Lieferdatum für Auftrag."
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr "Datum an dem der Auftrag fertigstellt wurde"
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen"
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr "Anzahl muss eine positive Zahl sein"
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr "Firma an die die Teile verkauft werden"
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr "Kundenreferenz"
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr "Bestellreferenz"
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Zieldatum für Auftrags-Fertigstellung."
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr "Versanddatum"
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr "Versand von"
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden"
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden"
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind"
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt"
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr "Anzahl"
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr "Position - Referenz"
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr "Position - Notizen"
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)"
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr "Kontext"
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr "Zusätzlicher Kontext für diese Zeile"
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr "Stückpreis"
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr "Lieferantenteil muss mit Lieferant übereinstimmen"
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr "gelöscht"
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr "Bestellung"
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr "Zuliefererteil"
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr "Empfangen"
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Preis"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr "Preis pro Einheit"
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?"
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden"
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden"
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr "Verkaufspreis"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr "Stückverkaufspreis"
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr "Versendete Menge"
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr "Versanddatum"
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr "Kontrolliert von"
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr "Benutzer, der diese Sendung kontrolliert hat"
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr "Sendung"
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr "Sendungsnummer"
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr "Versandhinweise"
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr "Sendungsverfolgungsnummer"
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr "Informationen zur Sendungsverfolgung"
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr "Rechnungsnummer"
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr "Referenznummer für zugehörige Rechnung"
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr "Sendung wurde bereits versandt"
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr "Sendung hat keine zugewiesene Lagerartikel"
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr "Lagerartikel wurde nicht zugewiesen"
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen"
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen"
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten"
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein"
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr "Auftrag gehört nicht zu Sendung"
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr "Sendung gehört nicht zu Auftrag"
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr "Position"
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr "Sendungsnummer-Referenz"
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr "Position"
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr "Lagerartikel für Zuordnung auswählen"
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr "Währung"
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr "Bestellung kann nicht verworfen werden"
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen"
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr "Auftrag hat unvollständige Positionen"
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr "Der Auftrag ist nicht offen"
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr "Kaufpreiswährung"
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr "Zuliefererteil muss ausgewählt werden"
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr "Bestellung muss angegeben sein"
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr "Lieferant muss mit der Bestellung übereinstimmen"
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen"
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr "Position"
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr "Position stimmt nicht mit Kaufauftrag überein"
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr "Zielort für empfangene Teile auswählen"
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr "Losnummer für eingehende Lagerartikel"
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr "Seriennummern für eingehende Lagerartikel"
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr "Einzigartiger Identifikator"
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr "Barcode ist bereits in Verwendung"
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr "Ganzzahl für verfolgbare Teile erforderlich"
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr "Positionen müssen angegeben werden"
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr "Ziel-Lagerort muss angegeben werden"
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr "Barcode muss eindeutig sein"
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr "Verkaufspreis-Währung"
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr "Keine Sendungsdetails angegeben"
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr "Position ist nicht diesem Auftrag zugeordnet"
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr "Anzahl muss positiv sein"
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr "Seriennummern zum Zuweisen eingeben"
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr "Sendung wurde bereits versandt"
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr "Sendung ist nicht diesem Auftrag zugeordnet"
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr "Folgende Serienummern konnten nicht gefunden werden"
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr "Folgende Seriennummern sind bereits zugewiesen"
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Zeile entfernen"
@@ -4566,7 +4578,7 @@ msgstr "Bestellungs-Positionen"
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr "Position hinzufügen"
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr "Paketliste drucken"
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr "Abgeschlossene Sendungen"
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr "Auftrag abschließen"
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Dieser Auftrag ist nicht vollständig zugeordnet"
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr "Kundenreferenz"
@@ -4636,10 +4648,6 @@ msgstr "Kundenreferenz"
msgid "Completed Shipments"
msgstr "Abgeschlossene Sendungen"
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr "Auftrag bearbeiten"
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Auftrags-Positionen"
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr "Ausstehende Sendungen"
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr "Aktionen"
@@ -4681,174 +4689,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr "Teil-ID"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr "Name des Teils"
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr "Beschreibung des Teils"
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr "Version"
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr "Kategorie-ID"
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr "Kategoriename"
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr "Standard-Standortnummer"
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr "Standard-Lieferantennummer"
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr "Auf Lager"
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "Bestellt"
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Benutzt in"
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr "Zugeordnet"
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr "Im Bau"
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr "Minimale Kosten"
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr "Maximale Kosten"
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr "Eltern ID"
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr "Name des übergeordneten Teils"
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr "Pfad zur Kategorie"
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Teile"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr "Stücklistenebene"
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr "Stücklisten-Position ID"
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr "Übergeordnete IPN"
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr "Teil IPN"
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr "Niedrigster Preis"
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr "Höchster Preis"
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr "Eingehende Bestellung"
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr "Ausgehender Auftrag"
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr "Lagerartikel produziert von Bauauftrag"
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr "Lagerartikel für Bauauftrag benötigt"
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr "Gültig"
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr "Gesamte Stückliste validieren"
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr "Diese Option muss ausgewählt werden"
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr "Standard-Lagerort"
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr "Gesamtbestand"
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr "Verfügbarer Bestand"
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr "Menge für die Preisberechnung"
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "Standard-Lagerort für Teile dieser Kategorie"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr "Strukturell"
-
-#: part/models.py:124
-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:128
-msgid "Default keywords"
-msgstr "Standard Stichwörter"
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr "Standard-Stichworte für Teile dieser Kategorie"
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr "Symbol"
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr "Symbol (optional)"
-
-#: part/models.py:153
-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:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "Teil-Kategorien"
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "Standard-Lagerort für Teile dieser Kategorie"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr "Strukturell"
+
+#: part/models.py:129
+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:133
+msgid "Default keywords"
+msgstr "Standard Stichwörter"
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr "Standard-Stichworte für Teile dieser Kategorie"
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr "Symbol"
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr "Symbol (optional)"
+
+#: part/models.py:158
+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:466
msgid "Invalid choice for parent part"
msgstr "Ungültige Auswahl für übergeordnetes Teil"
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, 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:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits"
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits."
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!"
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr "Variante von"
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "Beschreibung des Teils"
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr "Kategorie"
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr "Standard Zulieferer"
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr "Standard Zuliefererteil"
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils"
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Bestand"
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr "Maßeinheit für diesen Teil"
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:991
+#: part/models.py:960
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:993
+#: part/models.py:962
msgid "Part notes"
msgstr "Teile-Notizen"
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
-msgstr ""
+msgstr "Benutzer, der für diesen Teil verantwortlich ist"
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr "Letzte Inventur"
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr "Währung für die Berechnung der Preise im Cache"
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr "Minimale Stücklisten Kosten"
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr "Minimale Kosten für Teile"
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr "Maximale Stücklisten Kosten"
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr "Maximale Kosten für Teile"
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr "Minimale Einkaufskosten"
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr "Minimale historische Kaufkosten"
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr "Maximale Einkaufskosten"
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr "Maximale historische Einkaufskosten"
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr "Minimaler interner Preis"
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr "Minimale Kosten basierend auf den internen Staffelpreisen"
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr "Maximaler interner Preis"
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr "Maximale Kosten basierend auf internen Preisstaffeln"
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr "Minimaler Lieferantenpreis"
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr "Mindestpreis für Teil von externen Lieferanten"
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr "Maximaler Lieferantenpreis"
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr "Maximaler Preis für Teil von externen Lieferanten"
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr "Minimale Variantenkosten"
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr "Berechnete minimale Kosten für Variantenteile"
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr "Maximale Variantenkosten"
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr "Berechnete maximale Kosten für Variantenteile"
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr "Berechnete Mindestkosten"
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr "Berechnete Maximalkosten"
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr "Mindestverkaufspreis"
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr "Mindestverkaufspreis basierend auf Staffelpreisen"
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr "Maximaler Verkaufspreis"
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr "Maximalverkaufspreis basierend auf Staffelpreisen"
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr "Mindestverkaufskosten"
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr "Minimaler historischer Verkaufspreis"
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr "Maximale Verkaufskosten"
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr "Maximaler historischer Verkaufspreis"
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr "Teil für die Inventur"
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr "Stückzahl"
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur"
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur"
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr "Datum"
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr "Datum der Inventur"
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr "Zusätzliche Notizen"
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr "Benutzer, der diese Inventur durchgeführt hat"
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr "Mindestbestandswert"
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr "Geschätzter Mindestwert des vorhandenen Bestands"
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr "Maximaler Bestandswert"
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr "Geschätzter Maximalwert des vorhandenen Bestands"
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr "Bericht"
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr "Inventur-Berichtsdatei (intern generiert)"
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr "Anzahl der Teile"
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden"
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr "Benutzer, der diesen Inventurbericht angefordert hat"
+
+#: part/models.py:3130
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:3096
+#: part/models.py:3147
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:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:3135
+#: part/models.py:3186
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:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:3141
+#: part/models.py:3192
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:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr "Parameter-Beschreibung"
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr "Wert"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr "Teilnummer oder Teilname"
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr "Eindeutige Teil-ID"
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr "IPN-Wert des Teils"
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr "Stufe"
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr "Stücklistenebene"
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "Optional"
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr "Verbrauchsmaterial"
-#: part/models.py:3436
+#: part/models.py:3498
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:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:3454
+#: part/models.py:3516
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:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:3460
+#: part/models.py:3522
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:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:3763
+#: part/models.py:3814
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:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr "Doppelte Beziehung existiert bereits"
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr "Kaufwährung dieses Lagerartikels"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr "Originalteil"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr "Originalteil zum Duplizieren auswählen"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr "Bild kopieren"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr "Bild vom Originalteil kopieren"
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Stückliste kopieren"
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr "Stückliste vom Originalteil kopieren"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr "Parameter kopieren"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr "Parameterdaten vom Originalteil kopieren"
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr "Start-Bestandsmenge"
-#: part/serializers.py:343
+#: part/serializers.py:326
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:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr "Initialer Lagerort"
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr "Lagerstandort für dieses Teil angeben"
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)"
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)"
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr "Hersteller-Teilenummer"
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr "Ausgewählte Firma ist kein gültiger Lieferant"
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr "Ausgewählte Firma ist kein gültiger Hersteller"
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr "Herstellerteil mit dieser MPN existiert bereits"
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr "Lieferantenteil mit dieser SKU existiert bereits"
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr "Teil duplizieren"
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr "Initiale Daten von anderem Teil kopieren"
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr "Initialer Lagerbestand"
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr "Erstelle Teil mit Ausgangsbestand"
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr "Lieferanteninformationen"
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr "Lieferanteninformationen zu diesem Teil hinzufügen"
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr "Kategorieparameter kopieren"
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren"
+
+#: part/serializers.py:829
+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:835
+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:841
+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:846
+msgid "Generate Report"
+msgstr "Bericht generieren"
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten"
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr "Teile aktualisieren"
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren"
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr "Inventur-Funktionalität ist nicht aktiviert"
+
+#: part/serializers.py:950
msgid "Update"
msgstr "Aktualisieren"
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr "Preis für dieses Teil aktualisieren"
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr "Teil auswählen, von dem Stückliste kopiert wird"
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr "Bestehende Daten entfernen"
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen"
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr "Vererbtes einschließen"
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden"
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr "Ungültige Zeilen überspringen"
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen"
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr "Ersatzteile kopieren"
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren"
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr "Bestehende Stückliste löschen"
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen"
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr "Keine Teilspalte angegeben"
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr "Mehrere übereinstimmende Teile gefunden"
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr "Keine passenden Teile gefunden"
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr "Teil ist nicht als Komponente angelegt"
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr "Menge nicht angegeben"
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr "Ungültige Menge"
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr "Mindestens eine Stückliste-Position ist erforderlich"
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr "Benachrichtigungen über geringen Bestand"
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
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/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr "Gesamtstückzahl"
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr "Gesamt-Bestandswert min"
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr "Gesamt-Bestandswert max"
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr "Inventurbericht verfügbar"
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "Sie haben keine Berechtigung zum Bearbeiten der Stückliste."
@@ -5680,7 +5797,7 @@ msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am
msgid "The BOM for %(part)s has not been validated."
msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert."
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr "Stücklisten-Aktionen"
@@ -5688,85 +5805,89 @@ msgstr "Stücklisten-Aktionen"
msgid "Delete Items"
msgstr "Einträge löschen"
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr "Inventur für diese Teilekategorie durchführen"
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr "Sie haben Benachrichtigungen für diese Kategorie abonniert"
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr "Benachrichtigungen für diese Kategorie abonnieren"
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr "Kategorieaktionen"
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr "Kategorie bearbeiten"
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr "Kategorie bearbeiten"
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr "Kategorie löschen"
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr "Kategorie löschen"
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr "Oberste Teil-Kategorie"
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Unter-Kategorien"
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "Teile (inklusive Unter-Kategorien)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr "Neues Teil anlegen"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr "Neues Teil"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr "Optionen"
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr "Teil-Kategorie auswählen"
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr "Teil-Kategorie auswählen"
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr "Label drucken"
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "Teilparameter"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr "Teil-Kategorie anlegen"
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "Neue Kategorie"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr "Teil-Kategorie hinzufügen"
@@ -5807,118 +5928,120 @@ msgstr "Terminierungsdaten aktualisieren"
msgid "Refresh"
msgstr "Neu laden"
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr "Inventurinformationen hinzufügen"
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr "Inventur"
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr "Teil Test-Vorlagen"
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr "Test Vorlage hinzufügen"
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr "Verkaufsauftragszuweisungen"
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr "Teile-Notizen"
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr "Teil Varianten"
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr "Neue Variante anlegen"
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr "neue Variante anlegen"
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr "Parameter hinzufügen"
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr "Verknüpfte Teile"
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr "Verknüpftes Teil hinzufügen"
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr "Stückliste"
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr "Export-Aktionen"
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Stückliste exportieren"
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr "Stücklisten-Bericht drucken"
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr "Stückliste hochladen"
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr "Stückliste überprüfen"
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr "Stücklisten-Position hinzufügen"
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr "Baugruppen"
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr "Gefertigte Teile"
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr "Bauauftragszuweisungen"
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr "Zulieferer"
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr "Teil-Hersteller"
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr "Herstellerteile löschen"
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr "verknüpftes Teil"
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr "verknüpftes Teil hinzufügen"
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr "Testergebnis-Vorlage hinzufügen"
@@ -5953,13 +6076,13 @@ msgstr "Teile-Importvorlage herunterladen"
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr "Format"
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr "Dateiformat auswählen"
@@ -5981,7 +6104,7 @@ msgstr "Barcode abhängen"
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "Label drucken"
@@ -5991,7 +6114,7 @@ msgstr "Kosteninformationen ansehen"
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr "Bestands-Aktionen"
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "Teil ist virtuell (kein physisches Teil)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr "Inaktiv"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr "Teildetails anzeigen"
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr "Dieses Teil ist eine Variante von %(link)s"
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr "Zu Bauaufträgen zugeordnet"
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr "Zur Bestellung zugeordnet"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr "Herstellbar"
@@ -6084,44 +6207,48 @@ msgstr "Herstellbar"
msgid "Minimum stock level"
msgstr "Minimaler Bestand"
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr "Preisspanne"
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr "letzte Seriennummer"
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr "Nach Seriennummer suchen"
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr "Teil-QR-Code"
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr "Barcode mit Teil verknüpfen"
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr "Berechnen"
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr "Verknüpftes Bild von diesem Teil entfernen"
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr "Keine passenden Bilder gefunden"
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr "Teildetails ausblenden"
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr "Zulieferer-Preise"
@@ -6136,6 +6263,7 @@ msgstr "Stückpreis"
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr "Gesamtkosten"
@@ -6176,11 +6304,27 @@ msgstr "Geplante Menge"
msgid "Variants"
msgstr "Varianten"
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Bestand"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "Bepreisung"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr "Zeitplan"
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr "Testvorlagen"
@@ -6196,11 +6340,11 @@ msgstr "Preisübersicht"
msgid "Refresh Part Pricing"
msgstr "Preis aktualisieren"
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
@@ -6263,8 +6407,8 @@ msgstr "Verkaufspreise"
msgid "Add Sell Price Break"
msgstr "Verkaufspreisstaffel hinzufügen"
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr "Kein Bestand"
@@ -6327,32 +6471,28 @@ msgstr "Unbekannte Datenbank"
msgid "{title} v{version}"
msgstr "{title} v{version}"
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr "Referenzen zuteilen"
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr "Teil {name} kann nicht importiert werden, da keine Kategorie zugewiesen ist"
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr "Teil-QR-Code"
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr "Teilbild auswählen"
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr "Teilbild aktualisiert"
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr "Teilbild nicht gefunden"
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr "Teilbepreisung"
@@ -6503,16 +6643,16 @@ msgstr "Kein Autor gefunden"
msgid "No date found"
msgstr "Kein Datum gefunden"
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr "Plugin `{plg_name}` ist nicht kompatibel mit der aktuellen InvenTree Version {version.inventreeVersion()}!"
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr "Plugin benötigt mindestens Version {plg_i.MIN_VERSION}"
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr "Plugin benötigt maximal Version {plg_i.MAX_VERSION}"
@@ -6549,27 +6689,27 @@ msgstr "Auswahleinstellungen"
msgid "A setting with multiple choices"
msgstr "Eine Einstellung mit mehreren Optionen"
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr "Quell-URL"
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr "Quelle für das Paket - dies kann eine eigene Registry oder ein VCS-Pfad sein"
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr "Paket-Name"
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr "Name für das Plugin-Paket - kann auch einen Versionstext enthalten"
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr "Plugin-Installation bestätigen"
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr "Dies wird dieses Plugin sofort in die aktuelle Instanz installieren. Die Instanz wird sofort in Wartung gehen."
@@ -6610,71 +6750,71 @@ msgstr "Bericht-Vorlage Beschreibung"
msgid "Report revision number (auto-increments)"
msgstr "Bericht Revisionsnummer (autom. erhöht)"
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr "Muster für die Erstellung von Berichtsdateinamen"
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr "Bericht-Vorlage ist ein"
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr "einfügen Installiert in Tests"
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen"
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr "Bauauftrag Filter"
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr "Teil Filter"
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr "Bestellungs-Abfragefilter"
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr "Auftrags-Abfragefilter"
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr "Snippet"
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr "Berichts-Snippet"
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr "Snippet-Beschreibung"
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr "Ressource"
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr "Berichts-Ressource"
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr "Ressource-Beschreibung"
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr "Lagerartikel Test-Bericht"
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "Seriennummer"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr "Testergebnisse"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr "Ergebnis"
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr "Verbaute Objekte"
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr "Seriennummer"
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr "Standort-ID"
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr "Ortsname"
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr "Lagerortpfad"
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr "Lagerartikel ID"
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr "Zuliefererteil-ID"
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr "Zulieferer ID"
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr "Lieferant"
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr "Kunden ID"
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr "verbaut in"
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr "Bauauftrag-ID"
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr "Auftrags-ID"
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr "Bestellungs-ID"
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr "Ablaufdatum"
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr "Menge ist erforderlich"
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr "Gültiges Teil muss angegeben werden"
-#: stock/api.py:573
+#: stock/api.py:607
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:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr "Besitzer"
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr "Besitzer auswählen"
-
-#: stock/models.py:115
-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:158
-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:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!"
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden"
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr "Teile-Typ ('{pf}') muss {pe} sein"
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein"
-
-#: stock/models.py:592
-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:614
-msgid "Item cannot belong to itself"
-msgstr "Teil kann nicht zu sich selbst gehören"
-
-#: stock/models.py:620
-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:634
-msgid "Build reference does not point to the same part object"
-msgstr "Referenz verweist nicht auf das gleiche Teil"
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr "Eltern-Lagerartikel"
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr "Basis-Teil"
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen"
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Bestand-Lagerort"
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "Bestand-Lagerorte"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr "Besitzer"
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr "Besitzer auswählen"
+
+#: stock/models.py:121
+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:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr "Extern"
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr "Dies ist ein externer Lagerort"
+
+#: stock/models.py:170
+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
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!"
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden"
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr "Teile-Typ ('{pf}') muss {pe} sein"
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein"
+
+#: stock/models.py:604
+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:626
+msgid "Item cannot belong to itself"
+msgstr "Teil kann nicht zu sich selbst gehören"
+
+#: stock/models.py:632
+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:646
+msgid "Build reference does not point to the same part object"
+msgstr "Referenz verweist nicht auf das gleiche Teil"
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr "Eltern-Lagerartikel"
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr "Basis-Teil"
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen"
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr "Die Verpackung dieses Lagerartikel ist gelagert in"
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr "Ist dieses Teil in einem anderen verbaut?"
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr "Seriennummer für dieses Teil"
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr "Losnummer für diesen Lagerartikel"
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr "Bestand"
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr "Quellbau"
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr "Bauauftrag für diesen Lagerartikel"
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr "Quelle Bestellung"
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr "Bestellung für diesen Lagerartikel"
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr "Ziel-Auftrag"
-#: stock/models.py:763
+#: stock/models.py:775
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:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr "Löschen wenn leer"
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist"
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr "Lagerartikel-Notizen"
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr "Preis für eine Einheit bei Einkauf"
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr "In Teil umgewandelt"
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr "Teil ist nicht verfolgbar"
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: stock/models.py:1329
+#: stock/models.py:1341
#, 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:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr "Seriennummern muss eine Liste von Ganzzahlen sein"
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seriennummern {exists} existieren bereits"
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr "Artikel wurde einem Kundenauftrag zugewiesen"
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr "Lagerartikel ist in anderem Element verbaut"
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr "Lagerartikel enthält andere Artikel"
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr "Artikel wurde einem Kunden zugewiesen"
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr "Lagerartikel wird aktuell produziert"
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden"
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr "Artikel duplizeren"
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr "Lagerartikel müssen auf dasselbe Teil verweisen"
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen"
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr "Status-Codes müssen zusammenpassen"
-#: stock/models.py:1615
+#: stock/models.py:1627
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:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr "Eintrags-Notizen"
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr "Wert muss für diesen Test angegeben werden"
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr "Anhang muss für diesen Test hochgeladen werden"
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr "Name des Tests"
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr "Testergebnis"
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr "Test Ausgabe Wert"
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr "Test Ergebnis Anhang"
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr "Test Notizen"
@@ -7048,128 +7203,128 @@ msgstr "Test Notizen"
msgid "Serial number is too large"
msgstr "Seriennummer ist zu lang"
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr "Kaufpreis für diesen Lagerartikel"
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben"
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, 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:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr "Seriennummern für neue Teile eingeben"
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr "Ziel-Bestand"
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr "Optionales Notizfeld"
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr "Seriennummern können diesem Teil nicht zugewiesen werden"
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr "Lagerartikel für Installation auswählen"
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr "Lagerartikel ist nicht verfügbar"
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr "Ausgewähltes Teil ist nicht in der Stückliste"
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr "Ziel Lagerort für unverbautes Objekt"
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr " Transaktionsnotizen hinzufügen (optional)"
-#: stock/serializers.py:489
+#: stock/serializers.py:483
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:500
+#: stock/serializers.py:494
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:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr "Ziel Lagerort für zurückgegebene Artikel"
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr "Teil muss verkaufbar sein"
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr "Artikel ist einem Kundenauftrag zugeordnet"
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr "Artikel ist einem Fertigungsauftrag zugeordnet"
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr "Kunde zum Zuweisen von Lagerartikel"
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr "Ausgewählte Firma ist kein Kunde"
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr "Notizen zur Lagerzuordnung"
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr "Eine Liste der Lagerbestände muss angegeben werden"
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr "Notizen zur Lagerartikelzusammenführung"
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr "Unterschiedliche Lieferanten erlauben"
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben"
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr "Unterschiedliche Status erlauben"
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben"
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr "Mindestens zwei Lagerartikel müssen angegeben werden"
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr "Primärschlüssel Lagerelement"
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr "Bestandsbewegungsnotizen"
@@ -7206,7 +7361,7 @@ msgstr "Testdaten hinzufügen"
msgid "Installed Stock Items"
msgstr "Installierte Lagerartikel"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr "Lagerartikel installieren"
@@ -7214,7 +7369,7 @@ msgstr "Lagerartikel installieren"
msgid "Delete all test results for this stock item"
msgstr "Alle Testergebnisse für diesen Lagerartikel löschen"
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr "Testergebnis hinzufügen"
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr "zu Lagerort einscannen"
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr "Druck Aktionen"
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr "Bestands-Anpassungs Aktionen"
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr "Bestand zählen"
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr "Bestand serialisieren"
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr "Bestand verschieben"
@@ -7297,125 +7452,129 @@ msgstr "Lagerartikel bearbeiten"
msgid "Delete stock item"
msgstr "Lagerartikel löschen"
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr "Elternposition"
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr "Kein Hersteller ausgewählt"
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern."
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr "Nur Leserechte"
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr "Dieser Lagerartikel wird gerade hergestellt und kann nicht geändert werden."
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr "Ändern des Lagerartikel in der Bauauftrag-Ansicht."
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden"
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr "Dieser Lagerartikel ist einem Auftrag zugewiesen"
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr "Dieser Lagerartikel ist einem Bauauftrag zugewiesen"
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Diesesr Lagerartikel ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden."
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr "vorherige Seite"
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr "Zur vorherigen Seriennummer wechseln"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr "nächste Seite"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr "Zur nächsten Seriennummer wechseln"
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr "Verfügbare Menge"
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr "Kein Lagerort gesetzt"
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr "Tests"
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr "abgelaufen"
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr "überfällig"
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr "Keine Inventur ausgeführt"
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr "Bestandsstatus bearbeiten"
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr "Lagerartikel-QR-Code"
+
+#: 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:603
+#: 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:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Warnung"
-#: stock/templates/stock/item_base.html:607
+#: 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:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr "Lagerartikel umwandeln"
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "zurück ins Lager"
@@ -7427,74 +7586,77 @@ msgstr "Teile mit Seriennummern mit diesem BestandObjekt anlegen."
msgid "Select quantity to serialize, and unique serial numbers."
msgstr "Zu serialisierende Anzahl und eindeutige Seriennummern angeben."
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr "Inventur für diesen Lagerort durchführen"
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr "Lagerort lokalisieren"
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr "Lagerartikel per Barcode-Scan zu diesem Lagerort hinzufügen"
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr "Lagerartikel einscannen"
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr "Lagerort hierher einscannen"
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr "Lagerort scannen"
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr "Lagerort-Aktionen"
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "Lagerort bearbeiten"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr "Lagerort löschen"
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr "Oberster Lagerstandort"
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr "Standortbesitzer"
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden."
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr "Unter-Lagerorte"
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "Bestand-Lagerorte"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr "Neuen Lagerort anlegen"
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "Neuer Lagerort"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr "Lagerort an diesen Ort eingescannt"
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr "QR-Code für diesen Lagerort"
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr "Barcode mit Lagerort verknüpfen"
@@ -7514,10 +7676,6 @@ msgstr "Zuweisungen"
msgid "Child Items"
msgstr "Untergeordnete Objekte"
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr "QR-Code für diesen Lagerort"
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr "Zugriff verweigert"
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr "Lösche alle gelesenen Benachrichtigungen"
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr "Benachrichtigung löschen"
@@ -7769,8 +7927,16 @@ msgstr "Teil importieren"
msgid "Part Parameter Templates"
msgstr "Teil-Parametervorlage"
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr "Inventur-Einstellungen"
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr "Inventurberichte"
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr "Plugin-Einstellungen"
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
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/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr "Plugins"
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr "Stufe"
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Meldung"
@@ -7931,71 +8097,71 @@ msgstr "Kein Wert angegeben"
msgid "Edit setting"
msgstr "Einstellungen ändern"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr "Plugin-Einstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr "Benachrichtigungs-Einstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr "Allgemeine Einstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr "Benutzereinstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr "Kurs"
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr "Keine Kategorie-Parametervorlagen gefunden"
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr "Vorlage bearbeiten"
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr "Vorlage löschen"
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr "Kategorieparametervorlage anlegen"
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr "Kategorieparametervorlage löschen"
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr "Kategorieparametervorlage anlegen"
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr "Keine Teilparametervorlagen gefunden"
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "ID"
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr "Teilparametervorlage anlegen"
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr "Teilparametervorlage bearbeiten"
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
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.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr "Teilparametervorlage löschen"
@@ -8041,7 +8207,7 @@ msgstr "Allgemeine Einstellungen"
msgid "Server Configuration"
msgstr "Serverkonfiguration"
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr "Kategorien"
@@ -8514,11 +8680,11 @@ msgstr "Geben Sie das von der App generierte Token ein:"
msgid "Verify"
msgstr "Überprüfen"
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr "Link hinzufügen"
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "Anhang hinzufügen"
@@ -8526,7 +8692,7 @@ msgstr "Anhang hinzufügen"
msgid "Delete selected attachments"
msgstr "Markierte Anhänge löschen"
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr "Anhänge entfernen"
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr "Bei den folgenden Teilen gibt es wenige Lagerartikel"
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr "Benötigte Menge"
@@ -8587,7 +8753,7 @@ 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:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr "Mindestmenge"
@@ -8595,11 +8761,11 @@ msgstr "Mindestmenge"
msgid "Expand all rows"
msgstr "Alle Zeilen erweitern"
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr "Keine Antwort"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr "keine Antwort vom InvenTree Server"
@@ -8611,27 +8777,27 @@ msgstr "Fehler 400: Fehlerhafte Anfrage"
msgid "API request returned error code 400"
msgstr "Fehler-Code 400 zurückgegeben"
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr "Fehler 401: Nicht Angemeldet"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr "Authentication Kredentials nicht angegeben"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr "Fehler 403: keine Berechtigung"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr "Fehlende Berechtigung für diese Aktion"
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr "Fehler 404: Ressource nicht gefunden"
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden"
@@ -8643,11 +8809,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:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr "Fehler 408: Zeitüberschreitung"
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr "Verbindungszeitüberschreitung bei der Datenanforderung"
@@ -8659,27 +8825,27 @@ msgstr "Unbehandelter Fehler-Code"
msgid "Error code"
msgstr "Fehler-Code"
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr "Alle ausgewählten anhänge werden gelöscht"
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr "Keine Anhänge gefunden"
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr "Anhang bearbeiten"
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr "Hochladedatum"
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr "Anhang bearbeiten"
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr "Anhang löschen"
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr "Unbekannte Antwort von Server erhalten"
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr "Ungültige Antwort von Server"
@@ -8740,7 +8906,7 @@ msgstr "Dadurch wird der Link zu dem zugehörigen Barcode entfernt"
msgid "Unlink"
msgstr "Entfernen"
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr "Lagerartikel entfernen"
@@ -8810,10 +8976,10 @@ msgstr "Zeilendaten anzeigen"
msgid "Row Data"
msgstr "Zeilendaten"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Schliessen"
@@ -8886,122 +9052,122 @@ msgstr "Preisdaten einschließen"
msgid "Include part pricing data in exported BOM"
msgstr "Preisinformationen in Stücklisten-Export einschließen"
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr "Ersatzteil entfernen"
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr "Wählen Sie ein neues Ersatzteil aus und fügen Sie sie mit den folgenden Eingaben hinzu"
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr "Sind Sie sicher, dass Sie dieses Ersatzteil entfernen möchten?"
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr "Ersatzteil entfernen"
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr "Ersatzteil hinzufügen"
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr "Stücklisten Ersatzteile bearbeiten"
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht"
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr "Ausgewählte Stücklistenpositionen löschen?"
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr "Stückliste für Bauteile laden"
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr "Varianten erlaubt"
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr "Ersatzteile"
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr "Stückliste anzeigen"
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr "Stücklisten-Bepreisung ist vollständig"
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr "Stücklisten-Bepreisung ist unvollständig"
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr "Keine Preisinformation verfügbar"
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr "Kein Lagerbestand verfügbar"
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr "Beinhaltet Variante und Ersatzbestand"
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr "Beinhaltet Variantenbestand"
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr "Enthält Ersatzbestand"
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr "Verbrauchsartikel"
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr "Stücklisten-Position kontrollieren"
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr "Diese Position wurde kontrolliert"
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr "Ersatzteile bearbeiten"
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr "Stücklisten-Position bearbeiten"
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr "Stücklisten-Position löschen"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr "Keine Stücklisten-Position(en) gefunden"
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr "benötigtes Teil"
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr "Geerbt von übergeordneter Stückliste"
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr "Bauauftrag fertigstellen"
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr "Nächste verfügbare Seriennummer"
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr "Letzte Seriennummer"
@@ -9099,323 +9265,323 @@ msgstr "Sind Sie sicher, dass sie alle Lagerartikel von diesem Bauauftrag entfer
msgid "Unallocate Stock Items"
msgstr "Lagerartikel zurücknehmen"
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr "Endprodukte auswählen"
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr "Mindestens ein Endprodukt muss ausgewählt werden"
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr "Endprodukt"
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr "Endprodukte fertigstellen"
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr "Endprodukte entfernen"
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr "Keine Allokationen für Bauauftrag gefunden"
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr "Standort nicht angegeben"
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr "Keine aktiven Endprodukte gefunden"
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr "Bestand zuteilen"
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr "Keine nachverfolgten Stücklisten-Einträge für diesen Bauauftrag"
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr "Abgeschlossene Tests"
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr "Keine erforderlichen Tests für diesen Bauauftrag"
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr "Bestands-Zuordnung bearbeiten"
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr "Zuordnung bearbeiten"
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr "Zuordnung entfernen"
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr "Anzahl pro"
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr "Unzureichender Bestand verfügbar"
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr "Ausreichender Bestand verfügbar"
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr "Bestand bauen"
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr "Bestand bestellen"
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr "Bestand zuweisen"
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Teile auswählen"
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr "Sie müssen mindestens ein Teil auswählen"
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr "Alle Teile zugeordnet"
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet"
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
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:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr "Lagerartikel für Bauauftrag zuweisen"
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr "Keine passenden Lagerstandorte"
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr "Keine passenden Lagerbestände"
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr "Automatische Lagerzuordnung"
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
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:2405
+#: templates/js/translated/build.js:2407
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:2406
+#: templates/js/translated/build.js:2408
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:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr "Lagerartikel zuordnen"
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr "Auswählen"
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr "Bauauftrag ist überfällig"
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr "Fortschritt"
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr "Keine Benutzerinformation"
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr "Keine Teile zugeordnet zu"
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr "Hersteller hinzufügen"
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr "Herstellerteil hinzufügen"
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr "Herstellerteil ändern"
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr "Zulieferer hinzufügen"
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr "Zuliefererteil hinzufügen"
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr "Alle ausgewählten Zulieferteile werden gelöscht"
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr "Zuliefererteil entfernen"
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr "Neue Firma hinzufügen"
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr "Teile geliefert"
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr "Hersteller-Teile"
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr "Keine Firmeninformation gefunden"
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr "Alle ausgewählten Herstellerrteile werden gelöscht"
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr "Herstellerteile löschen"
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr "Alle ausgewählten Parameter werden gelöscht"
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr "Keine Herstellerteile gefunden"
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr "Vorlagenteil"
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr "Baugruppe"
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr "Keine Parameter gefunden"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr "Parameter bearbeiten"
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr "Parameter bearbeiten"
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr "Keine Zuliefererteile gefunden"
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr "Verfügbarkeit"
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr "Zuliefererteil bearbeiten"
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr "Zuliefererteil entfernen"
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr "Preisstaffel löschen"
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr "Preisstaffel bearbeiten"
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr "Keine Informationen zur Preisstaffel gefunden"
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr "Zuletzt aktualisiert"
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr "Preisstaffel bearbeiten"
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr "Preisstaffel löschen"
@@ -9482,32 +9648,32 @@ msgstr "Dieses Formular offen lassen"
msgid "Enter a valid number"
msgstr "Gib eine gültige Nummer ein"
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Fehler in Formular"
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr "Keine Ergebnisse gefunden"
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr "Suche"
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr "Eingabe leeren"
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr "Dateispalte"
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr "Feldname"
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr "Spalten auswählen"
@@ -9519,7 +9685,7 @@ msgstr "JA"
msgid "NO"
msgstr "NEIN"
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr "Notiz aktualisiert"
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr "Label an den Drucker gesendet"
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr "Lagerartikel auswählen"
@@ -9573,70 +9739,70 @@ msgstr "Drucker auswählen"
msgid "Export to PDF"
msgstr "Als PDF exportieren"
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr "Lagerartikel ausgewählt"
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr "Label-Vorlage auswählen"
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "Abbrechen"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Abschicken"
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr "Formulartitel"
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr "Warte auf Server..."
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr "Fehler-Informationen anzeigen"
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr "Akzeptieren"
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr "Lade Daten"
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr "ungültige Antwort vom Server"
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr "Formulardaten fehlen bei Serverantwort"
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr "Formulardaten fehlerhaft"
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr "JSON Antwort enthält keine Formulardaten"
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr "Fehler 400: Ungültige Anfrage"
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr "Fehler 400 von Server erhalten"
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr "Fehler bei Formulardaten-Anfrage"
@@ -9670,759 +9836,758 @@ msgstr "Keine Nachrichten gefunden"
msgid "Age"
msgstr "Alter"
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr "Benachrichtigung"
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr "Als ungelesen markieren"
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr "Als gelesen markieren"
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr "Keine ungelesenen Benachrichtigungen"
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr "Benachrichtigungen erscheinen hier"
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr "Dieser Sendung wurden keine Artikel zugewiesen"
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr "Die folgenden Artikel werden verschickt"
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr "Sendung fertigstellen"
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr "Sendung bestätigen"
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr "Keine ausstehenden Sendungen gefunden"
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr "Keine Lagerartikel für offene Sendungen zugewiesen"
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr "Überspringen"
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr "Bestellung vervollständigen"
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr "Diese Bestellung als vollständig markieren?"
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr "Alle Einträge wurden erhalten"
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr "Diese Bestellung enthält Positionen, die nicht als empfangen markiert wurden."
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind."
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr "Bestellung abbrechen"
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr "Sind Sie sicher, dass Sie diese Bestellung abbrechen möchten?"
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr "Diese Bestellung kann nicht storniert werden"
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr "Bestellung aufgeben"
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr "Nachdem diese Bestellung plaziert ist können die Positionen nicht länger bearbeitbar ist."
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr "Dieser Auftrag enthält Positionen, die noch nicht abgeschlossen sind."
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr "Auftrag stornieren"
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist."
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr "Sendung anlegen"
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr "Kunden hinzufügen"
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr "Auftrag anlegen"
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr "Auftrag bearbeiten"
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr "Bestellung zum Duplizieren auswählen"
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr "Positionen duplizieren"
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr "Alle Positionen der ausgewählten Bestellung duplizieren"
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr "Zusätzliche Zeilen duplizieren"
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr "Zusätzliche Positionen der ausgewählten Bestellung duplizieren"
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr "Bestellung bearbeiten"
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr "Duplizierungsoptionen"
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr "Bestellung exportieren"
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden"
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr "Zu bestellende Menge"
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr "Neues Zuliefererteil"
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr "Neue Bestellung"
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr "Zur Bestellung hinzufügen"
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr "Keine passenden Lieferantenteile"
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr "Keine passenden Bestellungen"
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr "Positionen auswählen"
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr "Mindestens eine Position muss ausgewählt werden"
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr "Losnummer hinzufügen"
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr "Seriennummern hinzufügen"
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr "Gelieferte Menge"
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr "Zu erhaltende Menge"
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr "Status"
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr "Bestellnummer"
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr "Bestellt"
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr "Zu erhaltende Menge"
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr "Empfang der Teile bestätigen"
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr "Bestellpositionen erhalten"
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr "Keine Bestellungen gefunden"
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr "Bestellung überfällig"
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr "Positionen"
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr "Position bearbeiten"
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr "Position löschen"
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr "Keine Positionen gefunden"
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr "Summe"
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr "Gesamtstückzahl"
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr "Stück-Preis"
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr "Gesamtpreis"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr "Diese Position ist überfällig"
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr "Position empfangen"
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr "Position bearbeiten"
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr "Position löschen"
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr "Zeile bearbeiten"
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr "Zeile löschen"
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr "Zeile bearbeiten"
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr "Zeile löschen"
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr "Keine passenden Positionen gefunden"
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr "Keine Aufträge gefunden"
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr "Ungültiger Kunde"
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr "Sendung bearbeiten"
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr "Sendung fertigstellen"
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr "Sendung löschen"
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr "Sendung bearbeiten"
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr "Sendung löschen"
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr "Keine passenden Sendungen gefunden"
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr "Sendungsreferenz"
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr "Nicht versandt"
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr "Nachverfolgen"
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr "Rechnung"
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr "Sendung hinzufügen"
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr "Bestandszuordnung bestätigen"
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr "Artikel zu Kundenauftrag zuweisen"
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr "Keine Allokationen für Verkaufsaufträge gefunden"
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr "Bestandszuordnung bearbeiten"
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr "Löschvorgang bestätigen"
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr "an Kunde versand"
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr "Lagerstandort nicht angegeben"
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr "Bestand kaufen"
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr "Preis berechnen"
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden"
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind"
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr "Stückpreis aktualisieren"
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr "Keine passenden Positionen gefunden"
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr "Keine passenden Positionen gefunden"
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr "Teileigenschaften"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr "Erstellungsoptionen für Teile"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr "Einstellungen für Teilkopien"
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr "Teil-Kategorie hinzufügen"
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr "Kategorieparameter kopieren"
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren"
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr "Übergeordnete Teilkategorie"
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr "Icon (optional) - alle verfügbaren Icons einsehbar auf"
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr "Teil-Kategorie bearbeiten"
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr "Möchten Sie diese Kategorie wirklich löschen?"
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr "In übergeordnete Kategorie verschieben"
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr "Teil-Kategorie löschen"
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr "Aktion für Teile in dieser Kategorie"
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr "Aktion für Unterkategorien"
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr "Teil hinzufügen"
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr "Ein weiteres Teil anlegen"
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr "Teil erfolgreich angelegt"
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr "Teil bearbeiten"
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr "Teil bearbeitet"
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr "Teil-Variante anlegen"
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr "Aktives Teil"
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist"
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden"
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr "Alle Lagerartikel für dieses Teil werden gelöscht"
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr "Dieses Teil wird von allen Stücklisten entfernt"
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr "Alle Hersteller- und Zuliefererinformationen für dieses Teil werden gelöscht"
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr "Teil löschen"
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert"
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert"
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr "Benachrichtigungen für dieses Teil abonnieren"
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet"
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr "Die Stückliste zu validieren markiert jede Zeile als gültig"
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr "Stückliste prüfen"
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr "überprüfte Stückliste"
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr "Stückliste kopieren"
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr "Bestand niedrig"
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr "Kein Lagerbestand verfügbar"
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
-msgstr ""
+msgstr "Einheit"
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr "Nachverfolgbares Teil"
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr "virtuelles Teil"
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr "Abonnierter Teil"
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr "Verkäufliches Teil"
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
-msgstr "Lagerartikel wurde in letzter Zeit nicht geprüft"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr "Die Erstellung eines neuen Inventurberichtes planen."
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr "Nach Fertigstellung steht der Inventurbericht zum Download zur Verfügung."
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
+msgstr "Inventurbericht generieren"
#: templates/js/translated/part.js:752
-msgid "Update item"
-msgstr "Element aktualisieren"
+msgid "Stocktake report scheduled"
+msgstr "Inventurbericht geplant"
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr "Element löschen"
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr "Keine Inventurinformationen verfügbar"
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr "Inventureintrag bearbeiten"
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr "Inventureintrag löschen"
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr "Keine Varianten gefunden"
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr "Teile-Beziehung löschen"
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr "Teile-Beziehung löschen"
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr "Keine Teile gefunden"
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr "Keine Kategorie"
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr "Kein Bestand"
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr "Zu Bauaufträgen zugeordnet"
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr "Zu Bestellungen zugeordnet"
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr "Listenansicht"
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr "Rasteransicht"
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
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:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr "Teil-Kategorie auswählen"
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr "Teil-Kategorie wählen"
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr "Kategorie erforderlich"
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr "Baumansicht"
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr "Unterkategorien laden"
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr "Abonnierte Kategorie"
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr "Testergebnis-Vorlage bearbeiten"
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr "Testergebnis-Vorlage löschen"
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr "Kein Datum angegeben"
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr "Das angegebene Datum liegt in der Vergangenheit"
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr "Spekulativ"
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr "Keine Zeitplanung für dieses Teil vorhanden"
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil"
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr "Geplante Lagermengen"
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr "Maximale Anzahl"
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr "Minimaler Lagerbestand"
@@ -10434,49 +10599,49 @@ msgstr "Das Plugin wurde installiert"
msgid "Error fetching currency data"
msgstr "Fehler beim Abrufen der Währungsdaten"
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr "Keine Stücklisten-Daten verfügbar"
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr "Keine Zulieferer-Preise verfügbar"
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr "Keine Staffelpreisdaten verfügbar"
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "${human_name} bearbeiten"
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "${human_name} löschen"
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr "Keine Einkaufshistorie verfügbar"
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr "Kaufpreisverlauf"
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr "Keine Verkaufshistorie verfügbar"
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr "Verkaufspreisverlauf"
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr "Keine Variantendaten verfügbar"
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr "Variantenteil"
@@ -10566,376 +10731,376 @@ msgstr "Lager-Serialisierung bestätigen"
msgid "Parent stock location"
msgstr "Übergeordneter Lagerort"
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr "Lagerartikel-Ort bearbeiten"
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr "Neuer Lagerstandort"
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?"
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr "Zum übergeordneten Lagerbestand verschieben"
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr "Bestand-Lagerort löschen"
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr "Aktion für Lagerartikel in diesem Lagerort"
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr "Aktion für Unter-Lagerorte"
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr "Dieser Teil kann nicht serialisiert werden"
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr "Ausgangsmenge für diesen Lagerartikel eingeben"
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)"
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr "Lagerartikel dupliziert"
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr "Bestand duplizieren"
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel löschen wollen?"
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr "Lagerartikel löschen"
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr "Lagerartikel bearbeiten"
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr "Neuer Lagerartikel erstellt"
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr "Mehrere Lagerartikel erstellt"
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr "Seriennummer finden"
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr "Seriennummer eingeben"
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr "Eine Seriennummer eingeben"
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr "Keine passende Seriennummer"
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr "Mehrere Ergebnisse gefunden"
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr "Bestand Zuweisung bestätigen"
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr "Einem Kunden zuordnen"
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr "Achtung: Das Zusammenführen kann nicht rückgängig gemacht werden"
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr "Einige Informationen gehen verloren, wenn Artikel zusammengeführt werden"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr "Lagerartikelverlauf wird für zusammengeführte Lagerartikel gelöscht"
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr "Lieferantenteil-Informationen werden für zusammengeführte Artikel gelöscht"
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr "Zusammenführung der Artikel bestätigen"
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr "Artikel zusammenführen"
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr "Bestand verschieben"
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr "Verschieben"
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr "Bestand zählen"
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr "Anzahl"
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr "Bestand entfernen"
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr "Entfernen"
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr "Bestand hinzufügen"
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr "Hinzufügen"
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr "Bestand löschen"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr "Bestandsanzahl angeben"
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr "Sie müssen mindestens einen Lagerartikel auswählen"
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr "Bestands-Anpassung bestätigen"
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr "ERFOLGREICH"
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr "FEHLGESCHLAGEN"
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr "KEIN ERGEBNIS"
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr "Test bestanden"
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr "Testergebnis hinzufügen"
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr "Keine Testergebnisse gefunden"
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr "Testdatum"
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr "In Arbeit"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr "In Lagerartikel installiert"
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr "Auftrag zugewiesen"
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr "Kein Lagerort gesetzt"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr "Lagerartikel wird produziert"
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr "Lagerartikel wurde Auftrag zugewiesen"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr "Lagerartikel wurde Kunden zugewiesen"
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr "Serialisierter Lagerartikel wurde zugewiesen"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr "Lagerartikel wurde vollständig zugewiesen"
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr "Lagerartikel wurde teilweise zugewiesen"
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr "Lagerartikel in anderem Element verbaut"
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr "Lagerartikel ist abgelaufen"
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr "Lagerartikel läuft demnächst ab"
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr "Lagerartikel abgewiesen"
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr "Lagerartikel verloren"
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr "Lagerartikel zerstört"
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr "gelöscht"
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr "Zuliefererteil nicht angegeben"
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr "Keine zur Anfrage passenden Lagerartikel"
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr "Status setzen"
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr "Status Code setzen"
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr "Status Code muss ausgewählt werden"
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr "Untergeordnete Lagerorte laden"
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr "Details"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr "Artikelinformationen nicht verfügbar"
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr "Standort nicht mehr vorhanden"
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr "Bestellung existiert nicht mehr"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr "Kunde existiert nicht mehr"
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr "Lagerartikel existiert nicht mehr"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr "Hinzugefügt"
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr "Entfernt"
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr "Keine installierten Elemente"
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr "Lagerartikel entfernen"
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr "Zu deinstallierende Lagerartikel auswählen"
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr "Einen weiteren Lagerartikel in dieses Teil installiert"
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
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:2872
+#: templates/js/translated/stock.js:2925
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:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr "Dieser Lagerartikel ist aktuell vorhanden"
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
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:2875
+#: templates/js/translated/stock.js:2928
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:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr "Teil zur Installation auswählen"
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr "Bestand an Varianten zulassen"
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr "Hat Preis"
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr "Unter-Lagerorte einschließen"
@@ -10973,218 +11138,218 @@ msgstr "Unter-Lagerorte einschließen"
msgid "Include locations"
msgstr "Lagerorte einschließen"
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr "Unterkategorien einschließen"
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr "Abonniert"
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:250
msgid "Is Serialized"
msgstr "Hat Seriennummer"
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:257
msgid "Serial number GTE"
msgstr "Seriennummer >="
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:258
msgid "Serial number greater than or equal to"
msgstr "Seriennummer größer oder gleich"
-#: templates/js/translated/table_filters.js:171
-#: templates/js/translated/table_filters.js:257
+#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
msgid "Serial number LTE"
msgstr "Seriennummer <="
-#: templates/js/translated/table_filters.js:172
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:262
msgid "Serial number less than or equal to"
msgstr "Seriennummern kleiner oder gleich"
-#: templates/js/translated/table_filters.js:175
-#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr "Seriennummer"
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr "Losnummer"
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr "Aktive Teile"
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr "Bestand aktiver Teile anzeigen"
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr "Teil ist eine Baugruppe"
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr "Ist zugeordnet"
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr "Teil wurde zugeordnet"
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr "Lagerartikel ist zur Verwendung verfügbar"
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr "Bestand in Unter-Lagerorten einschließen"
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr "Zeige aufgebrauchte Lagerartikel"
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr "Zeige Objekte welche im Lager sind"
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr "In Arbeit"
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr "Elemente, die in Produktion sind, anzeigen"
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr "Varianten einschließen"
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr "Lagerartikel für Teil-Varianten einschließen"
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr "Installiert"
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr "Lagerartikel, die in anderen Elementen verbaut sind, anzeigen"
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr "zeige zu Kunden zugeordnete Einträge"
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr "Status"
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr "Hat Batch-Code"
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr "Nachverfolgt"
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr "Lagerbestand wird entweder per Batch-Code oder Seriennummer verfolgt"
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr "Hat Einkaufspreis"
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr "Bestand mit Einkaufspreis anzeigen"
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr "Ablaufdatum vor"
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr "Ablaufdatum nach"
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr "Zeige abgelaufene Lagerartikel"
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr "Bestand, der bald ablaufen, anzeigen"
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr "Test bestanden"
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr "Installierte Elemente einschließen"
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr "Bauauftrags-Status"
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr "Mir zugewiesen"
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr "Bestellstatus"
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr "ausstehend"
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr "Teile in Unterkategorien einschließen"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr "Aktive Teile anzeigen"
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr "Verfügbarer Lagerbestand"
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr "Hat IPN"
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr "Teil hat Interne Teilenummer"
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr "Auf Lager"
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr "Käuflich"
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr "Hat Inventureinträge"
@@ -11513,51 +11678,51 @@ msgstr "Benutzer"
msgid "Select which users are assigned to this group"
msgstr "Welche Benutzer gehören zu dieser Gruppe"
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr "Folgende Benutzer gehören zu mehreren Gruppen:"
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr "Persöhnliche Informationen"
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr "Berechtigungen"
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr "wichtige Daten"
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "Berechtigung geändert"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "Ansicht"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "Berechtigung Einträge anzuzeigen"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "Berechtigung Einträge zu erstellen"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr "Ändern"
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "Berechtigungen Einträge zu ändern"
-#: users/models.py:225
+#: users/models.py:231
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 f772a35fc6..8770099f95 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -29,23 +29,23 @@ msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλμα
msgid "Enter date"
msgstr "Εισάγετε ημερομηνία"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Σημειώσεις"
@@ -58,23 +58,23 @@ msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μο
msgid "Provided value does not match required pattern: "
msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Εισάγετε κωδικό"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Εισάγετε νέο κωδικό πρόσβασης"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Επιβεβαιώστε τον κωδικό πρόσβασης"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Επιβεβαιώστε τον νέο κωδικό πρόσβασης"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Παλιός κωδικός πρόσβασης"
@@ -130,7 +130,7 @@ msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s"
msgid "Supplied URL is not a valid image file"
msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Μη έγκυρη ποσότητα"
@@ -170,23 +170,23 @@ msgstr "Ο αριθμός μοναδικών σειριακών αριθμών (
msgid "Remove HTML tags from this value"
msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Λανθασμένο μοτίβο"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Δώσατε λάθος μορφή κλειδιού"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Λείπει το απαραίτητο κλειδί"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Το πεδίο δεν μπορεί να είναι άδειο"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Η αναφορά πρέπει να ταιριάζει με το απαιτούμενο μοτίβο"
@@ -194,350 +194,363 @@ msgstr "Η αναφορά πρέπει να ταιριάζει με το απα
msgid "Reference number is too large"
msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Το αρχείο λείπει"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Λείπει ο εξωτερικός σύνδεσμος"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Συνημμένο"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Επιλέξτε αρχείο για επισύναψη"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Σύνδεσμος"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Σχόλιο"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Σχόλιο αρχείου"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Χρήστης"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "ημερομηνία φόρτωσης"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Το όνομα αρχείου δεν μπορεί να είναι κενό"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Μη διαθέσιμη τοποθεσία συνημμένου"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Το όνομα αρχείου περιέχει μη έγκυρους χαρακτήρες '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Λείπει επέκταση ονόματος αρχείου"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Αρχείο με αυτό το όνομα υπάρχει ήδη"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Σφάλμα κατά τη μετονομασία"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Μη έγκυρη επιλογή"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Όνομα"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Περιγραφή"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Περιγραφή (προαιρετική)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "γονέας"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Μονοπάτι"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Σφάλμα διακομιστή"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Όνομα αρχείου"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Μη έγκυρη τιμή"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Αρχείο Δεδομένων"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Επιλέξτε ένα αρχείο για ανέβασμα"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Μη υποστηριζόμενος τύπος αρχείου"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Το αρχείο είναι πολύ μεγάλο"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Δεν βρέθηκαν στήλες στο αρχείο"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Δεν παρασχέθηκαν σειρές δεδομένων"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Δεν δόθηκαν στήλες δεδομένων"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Λείπει απαιτούμενη στήλη: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Διπλή στήλη: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Τσέχικα"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Γερμανικά"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Ελληνικά"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Αγγλικά"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Ισπανικά"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Ισπανικά (Μεξικό)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Φαρσί / Περσικά"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Γαλλικά"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Εβραϊκά"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Ούγγρικα"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Ιταλικά"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Ιαπωνικά"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Κορεάτικα"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Dutch"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Νορβηγικά"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Πολωνικά"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Πορτογαλικά"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Πορτογαλικά (Βραζιλίας)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Ρωσικά"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Σουηδικά"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Ταϊλανδέζικα"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Τούρκικα"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Βιετναμέζικα"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Κινέζικα"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Σε εκκρεμότητα"
@@ -579,8 +592,8 @@ msgstr "Χάθηκε"
msgid "Returned"
msgstr "Επιστράφηκε"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Αποστάλθηκε"
@@ -664,7 +677,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί
msgid "Split child item"
msgstr "Διαχωρίστηκε θυγατρικό στοιχείο"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Έγινε συγχώνευση αποθεμάτων"
@@ -672,7 +685,7 @@ msgstr "Έγινε συγχώνευση αποθεμάτων"
msgid "Converted to variant"
msgstr "Μετατράπηκε σε παραλλαγή"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Απεστάλη στον πελάτη"
@@ -721,27 +734,27 @@ msgstr "Η μέση τιμή δεν πρέπει να υπερβαίνει το
msgid "Invalid value for overage"
msgstr "Μη έγκυρη τιμή για υπέρβαση"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Τροποποίηση πληροφοριών χρήστη"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Ορισμός Κωδικού Πρόσβασης"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Τα πεδία κωδικού πρόσβασης πρέπει να ταιριάζουν"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Δόθηκε λάθος κωδικός πρόσβασης"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Πληροφορίες συστήματος"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Σχετικά με το InvenTree"
@@ -749,44 +762,44 @@ msgstr "Σχετικά με το InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Μη έγκυρη επιλογή για γονική κατασκευή"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Σειρά Κατασκευής"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Δημιουργία Παραγγελιών"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Μη έγκυρη επιλογή για γονική κατασκευή"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Αναφορά Παραγγελίας Κατασκευής"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Αναφορά"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Εξάρτημα"
@@ -855,8 +869,8 @@ msgstr "Κωδικός Παραγγελίας Πωλήσεων"
msgid "SalesOrder to which this build is allocated"
msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Τοποθεσία Προέλευσης"
@@ -896,21 +910,21 @@ msgstr "Κατάσταση Κατασκευής"
msgid "Build status code"
msgstr "Κωδικός κατάστασης κατασκευής"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Κωδικός Παρτίδας"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Ημερομηνία Δημιουργίας"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Ημερομηνία ολοκλήρωσης στόχου"
@@ -918,8 +932,8 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία."
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Ημερομηνία ολοκλήρωσης"
@@ -927,7 +941,7 @@ msgstr "Ημερομηνία ολοκλήρωσης"
msgid "completed by"
msgstr "ολοκληρώθηκε από"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Εκδόθηκε από"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Υπεύθυνος"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Εξωτερικοί σύνδεσμοι"
@@ -999,11 +1013,11 @@ msgstr "Το στοιχείο κατασκευής πρέπει να ορίζε
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Το επιλεγμένο αντικείμενο αποθέματος δεν βρέθηκε στο BOM"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Κατασκευή"
@@ -1025,18 +1039,18 @@ msgstr "Κατασκευή"
msgid "Build to allocate parts"
msgstr "Κατασκευή για εκχώρηση τμημάτων"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Στοιχείο Αποθέματος"
@@ -1044,12 +1058,12 @@ msgstr "Στοιχείο Αποθέματος"
msgid "Source stock item"
msgstr "Στοιχείο πηγαίου αποθέματος"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Ποσότητα"
@@ -1097,249 +1110,249 @@ msgstr "Εγκατάσταση σε"
msgid "Destination stock item"
msgstr "Αποθήκη προορισμού"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Κατασκευή Εξόδου"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη"
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Σειριακοί αριθμοί"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών"
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr ""
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 462997ea3d..eb9978c36b 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -29,23 +29,23 @@ msgstr "Los detalles del error pueden encontrarse en el panel de administración
msgid "Enter date"
msgstr "Seleccionar una fecha"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Notas"
@@ -58,23 +58,23 @@ msgstr "El valor '{name}' no aparece en formato de patrón"
msgid "Provided value does not match required pattern: "
msgstr "El valor proporcionado no coincide con el patrón requerido: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Introduce la contraseña"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Introduce una nueva contraseña"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Confirma la contraseña"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Confirma la nueva contraseña"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Contraseña anterior"
@@ -130,7 +130,7 @@ msgstr "El servidor remoto devolvió una respuesta vacía"
msgid "Supplied URL is not a valid image file"
msgstr "La URL proporcionada no es un archivo de imagen válido"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Cantidad proporcionada no válida"
@@ -170,23 +170,23 @@ msgstr "El número de números de serie únicos ({s}) debe coincidir con la cant
msgid "Remove HTML tags from this value"
msgstr "Eliminar etiquetas HTML de este valor"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Patrón con formato incorrecto"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Clave de formato especificado desconocida"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Falta la clave de formato requerida"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "El campo de referencia no puede estar vacío"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "La referencia debe coincidir con el patrón requerido"
@@ -194,350 +194,363 @@ msgstr "La referencia debe coincidir con el patrón requerido"
msgid "Reference number is too large"
msgstr "El número de referencia es demasiado grande"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Archivo no encontrado"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Falta enlace externo"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Archivo adjunto"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Seleccionar archivo para adjuntar"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Enlace"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Enlace a URL externa"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Comentario"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Comentario del archivo"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Usuario"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "fecha de subida"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "El nombre del archivo no debe estar vacío"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Directorio de archivos adjuntos no válido"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "El nombre del archivo contiene el carácter no válido '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Falta el nombre de extensión del archivo"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Ya existe un archivo adjunto con este nombre"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Error al cambiar el nombre del archivo"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Selección no válida"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Nombre"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Descripción"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Descripción (opcional)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "superior"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Ruta"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Hash del Código de barras"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Datos del código de barras de terceros"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Hash del Código de barras"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Hash único de los datos de código de barras"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Código de barras existente encontrado"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Error del servidor"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Un error ha sido registrado por el servidor."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Debe ser un numero valido"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Moneda"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Nombre de archivo"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Archivo de datos"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Archivo seleccionado para subir"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Tipo de archivo no soportado"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "El archivo es demasiado grande"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "No se encontraron columnas en el archivo"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "No hay filas de datos en el archivo"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "No se proporcionaron filas de datos"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "No se proporcionaron columnas de datos"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Falta la columna requerida: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Columna duplicada: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL del archivo de imagen remoto"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
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:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Checo"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Danés"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Alemán"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Griego"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Inglés"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Español"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Español (México)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / persa"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Francés"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebreo"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Húngaro"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japonés"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Holandés"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Noruego"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polaco"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugués"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Português (Brasil)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Ruso (Русский)"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Svenska"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Tailandés"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Türkçe"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Chino (中文)"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Falló la comprobación en segundo plano"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Las comprobaciones de estado del sistema InvenTree fallaron"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Pendiente"
@@ -579,8 +592,8 @@ msgstr "Perdido"
msgid "Returned"
msgstr "Devuelto"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Enviado"
@@ -664,7 +677,7 @@ msgstr "Separar del elemento principal"
msgid "Split child item"
msgstr "Separar elemento secundario"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Artículos de stock combinados"
@@ -672,7 +685,7 @@ msgstr "Artículos de stock combinados"
msgid "Converted to variant"
msgstr "Convertido a variante"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Enviado al cliente"
@@ -721,27 +734,27 @@ msgstr "El excedente no debe superar el 100%"
msgid "Invalid value for overage"
msgstr "Valor no válido para sobrecarga"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Editar datos del usuario"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Configurar Contraseña"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Los campos de contraseña deben coincidir"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Contraseña incorrecta proporcionada"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Información del sistema"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Acerca de InvenTree"
@@ -749,44 +762,44 @@ msgstr "Acerca de InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "La construcción debe cancelarse antes de que pueda ser eliminada"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Opción no válida para la construcción padre"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Petición de Ensamblado"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Peticiones de Ensamblado"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Opción no válida para la construcción padre"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Referencia de Orden de Ensamblado"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referencia"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Construcción de orden a la que se asigna esta versión"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Pieza"
@@ -855,8 +869,8 @@ msgstr "Referencia de Pedido de Entrega"
msgid "SalesOrder to which this build is allocated"
msgstr "Pedido de Entrega a la que este ensamblaje se asigna"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Ubicación de la fuente"
@@ -896,21 +910,21 @@ msgstr "Estado de la construcción"
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Fecha de Creación"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Fecha límite de finalización"
@@ -918,8 +932,8 @@ msgstr "Fecha límite de finalización"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Fecha límite para la finalización del ensamblado. El ensamblado estará vencido después de esta fecha."
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Fecha de Finalización"
@@ -927,7 +941,7 @@ msgstr "Fecha de Finalización"
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Responsable"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Enlaces Externo"
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Cantidad"
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Números de serie"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Ubicación"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Estado"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr "Existencias sobreasignadas"
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Cómo quieres manejar los artículos extra de stock asignados a la orden de ensamblado"
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr "Algunos artículos de stock han sido sobreasignados"
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "Aceptar no asignado"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "El stock requerido no ha sido completamente asignado"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Acepta incompleto"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Aceptar que el número requerido de salidas de construcción no se han completado"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "El artículo debe estar en stock"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Fecha Límite"
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Vencido"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Completado"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Pedido de Entrega"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Creado"
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Pedir Piezas"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Archivos adjuntos"
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr "Restringir mostrar 'acerca de'"
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Nombre de empresa"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Nombre interno de empresa"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Moneda Predeterminada"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr "Permitir escaneo de código de barras a través de webcam en el navegador"
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr "Número de días antes de que el precio de la pieza se actualice automáticamente"
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr "Entregar Existencias Caducadas"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr "Patrón para Referencias de Orden de Ensamblado"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr "Patrón para la Referencia de los Pedidos de Entrega"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la Petición de Entrega"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr "Envío Predeterminado de las Peticiones de Entrega"
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr "Habilitar la creación de envío predeterminado con pedidos de entrega"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr "Editar Pedidos Completados"
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Permitir la edición de pedidos después de que hayan sido enviados o completados"
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr "Patrón para Referencias de Orden de Compra"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr "Mostrar Lista de Materiales (BOMs) no validados"
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Mostrar etiquetas PDF en el navegador, en lugar de descargar como un archivo"
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo"
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
-msgstr ""
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo"
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
-msgstr "Buscar Pedidos de Entrega"
-
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
-msgstr "Mostrar pedidos de entrega en la ventana de vista previa de búsqueda"
-
-#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
-msgstr "Excluir Pedidos Inactivos"
-
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
-msgstr "Excluir pedidos inactivos de la ventana de vista previa de búsqueda"
-
-#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
+msgstr ""
+
+#: common/models.py:1845
+msgid "Display stock items in search preview window"
+msgstr ""
+
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
+msgstr ""
+
+#: common/models.py:1852
+msgid "Exclude stock items which are not available from the search preview window"
+msgstr ""
+
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr "Buscar Pedidos de Entrega"
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr "Mostrar pedidos de entrega en la ventana de vista previa de búsqueda"
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr "Excluir Pedidos Inactivos"
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr "Excluir pedidos inactivos de la ventana de vista previa de búsqueda"
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr "Formato de Fecha"
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Planificación de piezas"
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr "Mostrar información de programación de piezas"
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Precio"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr "Precio unitario a la cantidad especificada"
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Subir Archivo"
@@ -3023,7 +3073,7 @@ msgstr "Subir Archivo"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr "Descripción de la empresa"
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Sitio Web"
@@ -3106,7 +3156,7 @@ msgstr "Punto de contacto"
msgid "Link to external company information"
msgstr "Enlace a información externa de la empresa"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Imagen"
@@ -3138,229 +3188,219 @@ msgstr "es fabricante"
msgid "Does this company manufacture parts?"
msgstr "¿Esta empresa fabrica piezas?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Moneda"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Moneda predeterminada utilizada para esta empresa"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr "Pieza Base"
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "Seleccionar pieza"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Fabricante"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Seleccionar fabricante"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr "'Part Number' del Fabricante"
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "'Part Number' del fabricante"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr "URL para el enlace de parte del fabricante externo"
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr "Descripción de la pieza del fabricante"
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Pieza del Fabricante"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "Nombre del parámetro"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Valor"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "Valor del parámetro"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "Unidades"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "Unidades de parámetro"
-
-#: company/models.py:456
-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:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Proveedor"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Seleccionar proveedor"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr "Descripción de la pieza del proveedor"
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Nota"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "Empaquetado"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr "Empaquetado de pieza"
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr "Moneda predeterminada utilizada para este proveedor"
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Código de Divisa"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "Empresa"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr "Pieza Base"
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "Seleccionar pieza"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Fabricante"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Seleccionar fabricante"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr "'Part Number' del Fabricante"
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "'Part Number' del fabricante"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr "URL para el enlace de parte del fabricante externo"
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr "Descripción de la pieza del fabricante"
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Pieza del Fabricante"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "Nombre del parámetro"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Valor"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "Valor del parámetro"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "Unidades"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "Unidades de parámetro"
+
+#: company/models.py:475
+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:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Proveedor"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Seleccionar proveedor"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr "Descripción de la pieza del proveedor"
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Nota"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "Empaquetado"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr "Empaquetado de pieza"
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr "Moneda predeterminada utilizada para este proveedor"
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Crear Orden de Compra"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr "Editar información de la empresa"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "Modificar Empresa"
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Cliente"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr "Eliminar imagen asociada a esta empresa"
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Subir Imagen"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Nueva Pieza del Proveedor"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Pedir piezas"
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Nueva Pieza del Fabricante"
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Ordenes de Compra"
@@ -3524,11 +3564,11 @@ msgstr "Nueva Orden de Compra"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Pedidos de Entrega"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "Nuevo Pedido de Entrega"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr "Stock Asignado"
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Pedir pieza"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "Editar pieza del fabricante"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "Eliminar pieza del fabricante"
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Proveedores"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr "Eliminar piezas del proveedor"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parámetros"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr "Artículos de Stock Asignados"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Pieza del Proveedor"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr "Acciones de piezas del proveedor"
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "Pedir Pieza"
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr "Editar Pieza del Proveedor"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr "Duplicar Pieza del Proveedor"
@@ -3717,7 +3757,7 @@ msgstr "Eliminar Pieza del Proveedor"
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Stock de Piezas del Proveedor"
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Pedidos de Piezas al Proveedor"
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr "Enlazar código de barras a Pieza del Proveedor"
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr "Actualizar Disponibilidad de Piezas"
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr ""
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Artículos de Stock"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Pedidos"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr "Precio de Pieza del Proveedor"
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "Precios"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Artículos de Stock"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "Nuevo Proveedor"
@@ -3828,10 +3848,6 @@ msgstr "Empresas"
msgid "New Company"
msgstr "Nueva Empresa"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr "Código QR del artículo de Stock"
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr "No se encontró ninguna orden de compra coincidente"
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Orden de Compra"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr "Descripción del pedido"
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr "Enlace a página web externa"
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr "Usuario o grupo responsable de este pedido"
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr "Referencia del pedido"
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "Empresa a la que se están encargando los artículos"
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr "Referencia del Proveedor"
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Fecha Límite de Envío"
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr "Empresa a la que se venden los artículos"
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr "Referencia de Cliente "
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr "Código de referencia del pedido del cliente"
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Fecha límite para la finalización del envío. El pedido estará vencido después de esta fecha."
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr "Fecha de Envío"
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr "Referencia de artículo de línea"
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr "Precio por unidad"
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Precio de Compra"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr "Precio de compra por unidad"
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Una pieza virtual no puede ser asignada a un pedido de entrega"
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr "Sólo las piezas entregables pueden ser asignadas a un pedido de entrega"
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr "Precio de venta por unidad"
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr "El artículo de stock no ha sido asignado"
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr "La petición de entrega no coincide con el envío"
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr "El envío no coincide con el pedido de entrega"
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr "Referencia del envío del pedido de entrega"
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr "Precio de divisa"
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr "Moneda del precio de compra"
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr "Moneda del precio de venta"
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Eliminar fila"
@@ -4566,7 +4578,7 @@ msgstr "Artículos de la Orden de Compra"
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr "Añadir Artículo de Línea"
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr "Imprimir lista de empaquetado"
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr "Completar Envíos"
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr "Completar Pedido de Entrega"
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Este pedido de entrega no ha sido completamente asignado"
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr "Referencia del Cliente"
@@ -4636,10 +4648,6 @@ msgstr "Referencia del Cliente"
msgid "Completed Shipments"
msgstr "Envíos Completados"
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr "Editar Pedido de Entrega"
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Artículos de Pedidos de Entrega"
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr "Envíos Pendientes"
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr "Acciones"
@@ -4681,174 +4689,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr "ID de Pieza"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr "Nombre de la Pieza"
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr "Descripción de la Pieza"
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr "En Stock"
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Usado En"
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr "Ruta de la Categoría"
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Piezas"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr "IPN de la Pieza"
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr "Pedidos de Entrega Salientes"
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr "Stock Disponible"
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "Ubicación predeterminada para piezas de esta categoría"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr "Las piezas no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas."
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr "Palabras clave predeterminadas"
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr "Palabras clave por defecto para piezas en esta categoría"
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr "Icono"
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr "Icono (opcional)"
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr "¡No puedes hacer que esta categoría de piezas sea estructural porque algunas piezas ya están asignadas!"
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoría de Pieza"
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "Categorías de Piezas"
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "Ubicación predeterminada para piezas de esta categoría"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr "Las piezas no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas."
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr "Palabras clave predeterminadas"
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr "Palabras clave por defecto para piezas en esta categoría"
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr "Icono"
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr "Icono (opcional)"
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr "¡No puedes hacer que esta categoría de piezas sea estructural porque algunas piezas ya están asignadas!"
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr "Opción no válida para la pieza principal"
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "La pieza '{p1}' se utiliza en la lista BOM para '{p2}' (recursivo)"
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN duplicado no permitido en la configuración de piezas"
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr "¡No se pueden asignar piezas a las categorías de piezas estructurales!"
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr "Nombre de la pieza"
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "¿Es esta pieza una 'pieza plantilla'?"
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "¿Es esta pieza una variante de otra pieza?"
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr "Variante de"
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "Descripción de la pieza"
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda de piezas"
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr "Categoría de pieza"
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "'Part Number' Interno (IPN)"
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Revisión de la pieza o número de versión"
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
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 pieza"
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "¿Esta pieza tiene seguimiento de artículos únicos?"
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "¿Se puede comprar esta pieza a proveedores externos?"
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "¿Se puede entregar esta pieza a los clientes?"
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr "Último Inventario"
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr "Entrega múltiple"
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr "Moneda utilizada para almacenar en caché los cálculos de precios"
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr "Precio mínimo de la pieza de proveedores externos"
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr "Precio máximo de la pieza de proveedores externos"
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr "Fecha"
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr "Descripción de prueba"
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr "Introduce la descripción para esta prueba"
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
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:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr "Descripción del parámetro"
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr "Pieza Superior"
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr "Seleccionar pieza superior"
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "Opcional"
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Exceso"
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Heredado"
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr "Permitir Variantes"
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr "Moneda de compra de este artículo de stock"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr "Duplicar Pieza"
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr "Omitir filas no válidas"
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr "Activar esta opción para omitir filas inválidas"
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr "Cantidad Total"
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr "Categoría de piezas de nivel superior"
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Subcategorías"
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "Piezas (incluyendo subcategorías)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr "Crear nueva pieza"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr "Nueva Pieza"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "Parámetros de Pieza"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr "Crear nueva categoría de piezas"
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "Nueva Categoría"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr "Crear Categoría para Piezas"
@@ -5807,118 +5928,120 @@ msgstr "Actualizar datos de programación"
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr "Inventario"
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr "Plantillas de Prueba para Pieza"
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr "Asignaciones de Pedidos de Entrega"
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr "Notas de la Pieza"
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr "Variantes de la Pieza"
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr "Piezas Relacionadas"
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr "Lista de Materiales"
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr "Proveedores de Piezas"
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "Imprimir Etiqueta"
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr "Acciones de stock"
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr "Inactivo"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr "Mostrar Detalles de la Pieza"
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr "Esta pieza es una variante de %(link)s"
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr "Asignado a Pedidos"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr "Precios del Proveedor"
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr "Cantidad Programada"
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "Precios"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr "Programación"
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr "Última Actualización"
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr "Concordar Referencias"
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr "Descripción de la plantilla de informe"
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr "Filtros de búsqueda de pedidos de entrega"
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr "Ruta de Ubicación"
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr "ID del Cliente"
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr "ID de Pedido de Entrega"
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: 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:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "Ubicaciones de Stock"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr "El empaquetado de este elemento de stock está almacenado en"
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr "Pedido de Entrega de Destino"
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr "Precio de compra por unidad en el momento de la compra"
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr "Artículo de stock ha sido asignado a un pedido de entrega"
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr "El artículo de stock ha sido asignado a un cliente"
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr "Los números de serie no se pueden asignar a esta pieza"
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr "El artículo está asignado a un pedido de entrega"
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr "Cliente a quien asignar los elementos de stock"
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr "La empresa seleccionada no es un cliente"
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr "Permitir proveedores no coincidentes"
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr "Acciones de impresión"
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr "Contar stock"
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr "Transferir stock"
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr "Elemento Superior"
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr "Solo lectura"
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr "Este artículo de stock está asignado a la Petición de Entrega"
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr "Ningún inventario realizado"
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr "Código QR del artículo de Stock"
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr "Localizar ubicación de stock"
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr "Escanear artículos de stock en esta ubicación"
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr "Buscar Artículos en Stock"
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr "Buscar en Contenedor"
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr "Acciones de ubicación"
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "Editar ubicación"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr "Eliminar ubicación"
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr "Ubicación de stock superior"
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr "Sub-ubicaciones"
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "Ubicaciones de Stock"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "Nueva ubicación"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr "Agregar Enlace"
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "Añadir Archivo Adjunto"
@@ -8526,7 +8692,7 @@ msgstr "Añadir Archivo Adjunto"
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr "Ampliar todas las filas"
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr "Fecha de Subida"
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr "Mostrar datos de fila"
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr "Añadir nueva Empresa"
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr "No se encontró información de la empresa"
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr "Última actualización"
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr "Seleccionar Columnas"
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "Cancelar"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr "Cancelar Pedido de Entrega"
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr "Añadir Cliente"
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr "Crear Pedido de Entrega"
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr "Editar Pedido de Entrega"
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr "Artículos"
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr "Total"
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr "Cantidad Total"
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr "Precio Unitario"
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr "Precio Total"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr "No se encontraron pedidos de entrega"
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr "Cliente Inválido"
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr "Referencia de Envío"
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr "Asignar Artículos de Stock a Pedido de Entrega"
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr "No se encontraron asignaciones de pedidos de entrega"
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr "Enviado al cliente"
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr "Actualizar Precio por Unidad"
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr "Añadir Categoría de Pieza"
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr "Categoría superior de pieza"
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr "Icono (opcional) - Explora todos los iconos disponibles en"
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr "Crear Pieza"
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr "Crear otra pieza después de esta"
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr "Pieza creada con éxito"
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr "Stock bajo"
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr "Existencias no disponibles"
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr "Sin Stock"
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr "Asignado a pedidos"
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr "Mostrar como lista"
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr "Mostrar como cuadrícula"
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr "Mostrar como árbol"
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr "Cargar Subcategorías"
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr "No hay información de precios disponible para esta pieza"
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr "Error obteniendo información de programación de esta pieza"
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr "Asignar Stock al Cliente"
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr "Asignado al Pedido de Entrega"
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr "Artículo de stock asignado al pedido de entrega"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr "Artículo de stock asignado al cliente"
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr "El cliente ya no existe"
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr "Incluir sub-ubicación"
@@ -10973,218 +11138,218 @@ msgstr "Incluir sub-ubicación"
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr "Incluir subcategorias"
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr "Mostrar artículos que han sido asignados a un cliente"
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr "Incluir piezas en subcategorías"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr "En stock"
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index 6e6749b1ca..47930c99ad 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -29,23 +29,23 @@ msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا
msgid "Enter date"
msgstr "تاریخ را وارد کنید"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "یادداشت"
@@ -58,23 +58,23 @@ msgstr "مقدار '{name}' در قالب الگو ظاهر قرار نمی گی
msgid "Provided value does not match required pattern: "
msgstr "مقدار ارائه شده با الگوی مورد نیاز مطابقت ندارد: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "رمز عبور را وارد کنید"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "گذرواژه جدید را وارد کنید"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "تأیید کلمهی عبور"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "گذرواژه جدید را تایید کنید"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "رمز عبور قدیمی"
@@ -130,7 +130,7 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr ""
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr ""
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr ""
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr ""
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr ""
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr ""
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr ""
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr ""
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr ""
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "فایلهای داده"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "فایل را برای بارگذاری انتخاب کنید"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "این نوع فایل پشتیبانی نمیشود"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "حجم فایل خیلی بزرگ است"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "هیچ ستونی در فایل یافت نشد"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "هیچ ردیف داده ای در فایل یافت نشد"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "هیچ ردیف داده ای ارائه نشده است"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "هیچ ستون داده ای ارائه نشده است"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "ستون مورد نیاز وجود ندارد: \"{name}\""
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "ستون تکراری: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "آدرس اینترنتی"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "آدرس فایل تصویری از راه دور"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr ""
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr ""
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr ""
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr ""
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr ""
@@ -579,8 +592,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr ""
@@ -664,7 +677,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr ""
@@ -672,7 +685,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr ""
@@ -721,27 +734,27 @@ msgstr ""
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr ""
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr ""
@@ -749,44 +762,44 @@ msgstr ""
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr ""
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr ""
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr ""
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr ""
@@ -855,8 +869,8 @@ msgstr "مرجع سفارش فروش"
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "منبع محل"
@@ -896,21 +910,21 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr ""
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr ""
@@ -918,8 +932,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr ""
@@ -927,7 +941,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr ""
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr ""
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr ""
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr ""
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 3f1f761fe4..6e6bccea43 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:03\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -29,23 +29,23 @@ msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'admin
msgid "Enter date"
msgstr "Entrer la date"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Notes"
@@ -58,23 +58,23 @@ msgstr "La valeur '{name}' n'apparaît pas dans le format du modèle"
msgid "Provided value does not match required pattern: "
msgstr "La valeur fournie ne correspond pas au modèle requis : "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Entrer le mot de passe"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Entrer le nouveau mot de passe"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Confirmez le mot de passe"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Ancien mot de passe"
@@ -130,7 +130,7 @@ msgstr "Le serveur distant a renvoyé une réponse vide"
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fournie n'est pas un fichier image valide"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
@@ -170,23 +170,23 @@ msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la qu
msgid "Remove HTML tags from this value"
msgstr "Retirer les balises HTML de cette valeur"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Modèle mal formaté"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Clé de format inconnu spécifiée"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Clé de format requise manquante"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Le champ de référence ne peut pas être vide"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "La référence doit correspondre au modèle requis"
@@ -194,350 +194,363 @@ msgstr "La référence doit correspondre au modèle requis"
msgid "Reference number is too large"
msgstr "Le numéro de référence est trop grand"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Fichier manquant"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Lien externe manquant"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Pièce jointe"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Lien"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Lien vers une url externe"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Commentaire"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Commentaire du fichier"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Utilisateur"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "date de chargement"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Le nom de fichier ne doit pas être vide"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Répertoire de pièce jointe invalide"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Le nom de fichier contient le caractère illégal '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Extension manquante du nom de fichier"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Une pièce jointe avec ce nom de fichier existe déjà"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Erreur lors du renommage du fichier"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Choix invalide"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Nom"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Description"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Description (facultative)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "parent"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Chemin d'accès"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Données du code-barres"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Données de code-barres tierces"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Hash du code-barre"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Hachage unique des données du code-barres"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Code-barres existant trouvé"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Erreur serveur"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Une erreur a été loguée par le serveur."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Devise"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Nom du fichier"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Valeur non valide"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Fichier de données"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Sélectionnez le fichier de données à envoyer"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Format de fichier non supporté"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Fichier trop volumineux"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Pas de colonnes trouvées dans le fichier"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Par de lignes de données trouvées dans le fichier"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Pas de lignes de données fournies"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Pas de colonne de données fournie"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonne requise manquante : {name}"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonne duliquée : '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL du fichier image distant"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
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:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Tchèque"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Danois"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Allemand"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Grec"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Anglais"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Espagnol"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Espagnol (Mexique)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Perse"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Français"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hébreu"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Hongrois"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italien"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japonais"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Coréen"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Néerlandais"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norvégien"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polonais"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugais"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugais (Brésilien)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Russe"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Slovénien"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Suédois"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thaïlandais"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Turc"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamien"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Chinois"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Échec de la vérification du processus d'arrière-plan"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Échec des contrôles de santé du système"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "En attente"
@@ -579,8 +592,8 @@ msgstr "Perdu"
msgid "Returned"
msgstr "Retourné"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Expédié"
@@ -664,7 +677,7 @@ msgstr "Séparer de l'élément parent"
msgid "Split child item"
msgstr "Fractionner l'élément enfant"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Articles de stock fusionnés"
@@ -672,7 +685,7 @@ msgstr "Articles de stock fusionnés"
msgid "Converted to variant"
msgstr "Converti en variante"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Envoyé au client"
@@ -721,27 +734,27 @@ msgstr "Le surplus ne doit pas dépasser 100%"
msgid "Invalid value for overage"
msgstr "Valeur invalide pour le dépassement"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Modifier les informations utilisateur"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Définir le mot de passe"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Les mots de passe doivent correspondre"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Mot de passe incorrect"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Informations système"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "À propos d'InvenTree"
@@ -749,44 +762,44 @@ msgstr "À propos d'InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "La construction doit être annulée avant de pouvoir être supprimée"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Choix invalide pour la fabrication parente"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Ordre de Fabrication"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Ordres de Fabrication"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Choix invalide pour la fabrication parente"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Référence de l' Ordre de Fabrication"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Référence"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Pièce"
@@ -855,8 +869,8 @@ msgstr "Bon de commande de référence"
msgid "SalesOrder to which this build is allocated"
msgstr "Commande de vente à laquelle cette construction est allouée"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Emplacement d'origine"
@@ -896,21 +910,21 @@ msgstr "État de la construction"
msgid "Build status code"
msgstr "Code de statut de construction"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Code de lot"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Code de lot pour ce build output"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Date de création"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Date d'achèvement cible"
@@ -918,8 +932,8 @@ msgstr "Date d'achèvement cible"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Date d'achèvement"
@@ -927,7 +941,7 @@ msgstr "Date d'achèvement"
msgid "completed by"
msgstr "achevé par"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Émis par"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Utilisateur ayant émis cette commande de construction"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Responsable"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Lien Externe"
@@ -999,11 +1013,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction,
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "L'article de stock est suralloué"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "La quantité allouée doit être supérieure à zéro"
@@ -1016,7 +1030,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:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Assemblage"
@@ -1025,18 +1039,18 @@ msgstr "Assemblage"
msgid "Build to allocate parts"
msgstr "Construction à laquelle allouer des pièces"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Article en stock"
@@ -1044,12 +1058,12 @@ msgstr "Article en stock"
msgid "Source stock item"
msgstr "Stock d'origine de l'article"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Stock d'origine de l'article"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Quantité"
@@ -1097,249 +1110,249 @@ msgstr "Installer dans"
msgid "Destination stock item"
msgstr "Stock de destination de l'article"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Sortie d'assemblage"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "L'ordre de production ne correspond pas à l'ordre parent"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Cet ordre de production a déjà été produit"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "Cet ordre de production n'est pas complètement attribué"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Entrer la quantité désiré pour la fabrication"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "Quantité entière requise pour les pièces à suivre"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce"
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Numéros de série"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Entrer les numéros de séries pour la fabrication"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "Allouer automatiquement les numéros de série"
-#: build/serializers.py:247
+#: build/serializers.py:248
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:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr "Les numéros de série suivants existent déjà, ou sont invalides"
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr "Une liste d'ordre de production doit être fourni"
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Emplacement"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr "Emplacement des ordres de production achevés"
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "État"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr "Accepter l'allocation incomplète"
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué"
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr "Supprimer le stock alloué"
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr "Soustraire tout stock qui a déjà été alloué à cette construction"
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr "Retirer les sorties incomplètes"
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr "Supprimer toutes les sorties de construction qui n'ont pas été complétées"
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr "Accepter comme consommé par cet ordre de construction"
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr "Désaffecter avant de terminer cette commande de fabrication"
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr "Stock suralloué"
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Comment voulez-vous gérer les articles en stock supplémentaires assignés à l'ordre de construction"
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr "Certains articles de stock ont été suralloués"
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "Accepter les non-alloués"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "Le stock requis n'a pas encore été totalement alloué"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Accepter les incomplèts"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "La quantité nécessaire n'a pas encore été complétée"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr "L'ordre de production a des sorties incomplètes"
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "Article du BOM"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr "Sortie d'assemblage"
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr "La sortie de la construction doit pointer vers la même construction"
-#: build/serializers.py:655
+#: build/serializers.py:665
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:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "L'article doit être en stock"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantité disponible ({q}) dépassée"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr "La sortie de construction doit être spécifiée pour l'allocation des pièces suivies"
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies"
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr "Cet article de stock a déjà été alloué à cette sortie de construction"
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr "Les articles d'allocation doivent être fournis"
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Emplacement de stock où les pièces doivent être fournies (laissez vide pour les prendre à partir de n'importe quel emplacement)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "Emplacements exclus"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "Exclure les articles de stock de cet emplacement sélectionné"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr "Stock interchangeable"
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Les articles de stock à plusieurs emplacements peuvent être utilisés de manière interchangeable"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "Stock de substitution"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr "Autoriser l'allocation de pièces de remplacement"
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr "Objets Optionnels"
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication"
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Date Cible"
@@ -1445,29 +1458,29 @@ msgstr "Cette construction était due le %(target)s"
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "En retard"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Terminé"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Commandes"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Émis par"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr "Priorité"
@@ -1498,8 +1511,8 @@ msgstr "Stock d'origine"
msgid "Stock can be taken from any available location."
msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible."
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Destination"
@@ -1511,21 +1524,21 @@ msgstr "Stockage de destination non défini"
msgid "Allocated Parts"
msgstr "Pièces allouées"
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Lot"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Créé le"
@@ -1545,7 +1558,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:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "Désallouer le stock"
@@ -1576,7 +1589,7 @@ msgstr "Commander les pièces requises"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Commander des pièces"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr "Supprimer les sorties"
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "Actions d'impression"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Imprimer les étiquettes"
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr "Sorties de Construction terminées"
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Pieces jointes"
@@ -1666,7 +1681,7 @@ msgstr "Allocation terminée"
msgid "All untracked stock items have been allocated"
msgstr "Tous les articles de stock non suivis ont été alloués"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Nouvel ordre de construction"
@@ -1723,1274 +1738,1309 @@ msgstr "{name.title()} Fichier"
msgid "Select {name} file to upload"
msgstr "Sélectionner le fichier {name} à uploader"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr "Mise à jour"
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr "Date de la dernière mise à jour"
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr "Clé du paramètre (doit être unique - insensible à la casse)"
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr "Valeur du paramètre"
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr "La valeur choisie n'est pas une option valide"
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr "La valeur doit être une valeur booléenne"
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr "La valeur doit être un nombre entier"
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr "La chaîne de caractères constituant la clé doit être unique"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr "Pas de groupe"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr "Un domaine vide n'est pas autorisé."
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr "Nom de domaine invalide : {domain}"
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Redémarrage nécessaire"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur"
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr "Nom de l'instance du serveur"
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr "Chaîne de caractères descriptive pour l'instance serveur"
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr "Utiliser le nom de l'instance"
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr "Utiliser le nom de l’instance dans la barre de titre"
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr "Limiter l'affichage de `about`"
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr "Afficher la modale `about` uniquement aux super-utilisateurs"
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Nom de la société"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Nom de société interne"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "URL de base"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "URL de base pour l'instance serveur"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Devise par défaut"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr "Sélectionnez la devise de base pour les calculs de prix"
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Télécharger depuis l'URL"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr "Limite du volume de téléchargement"
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr "Taille maximale autorisée pour le téléchargement de l'image distante"
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL"
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Permettre de remplacer l'agent utilisateur utilisé pour télécharger des images et des fichiers à partir d'URL externe (laisser vide pour la valeur par défaut)"
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr "Confirmation requise"
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr "Exiger une confirmation explicite de l’utilisateur pour certaines actions."
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr "Profondeur de l'arborescence"
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr "Profondeur de l'arborescence par défaut. Les niveaux plus profonds peuvent être chargés au fur et à mesure qu'ils sont nécessaires."
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr "Backup automatique"
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr "Activer le backup automatique de la base de données et des fichiers médias"
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr "Jours entre chaque sauvegarde"
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr "Supprimer les anciennes tâches"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr "Les résultats de la tâche en arrière-plan seront supprimés après le nombre de jours spécifié"
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr "Supprimer les logs d'erreurs"
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr "Les logs d'erreur seront supprimés après le nombre de jours spécifié"
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr "Supprimer les notifications"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr "Les notifications de l'utilisateur seront supprimées après le nombre de jours spécifié"
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Support des code-barres"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Activer le support du scanner de code-barres"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr "Délai d'entrée du code-barres"
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr "Délai de traitement du code-barres"
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr "Prise en charge de la webcam code-barres"
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr "Autoriser la numérisation de codes-barres via la webcam dans le navigateur"
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce"
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Autoriser les IPN dupliqués"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr "Permettre à plusieurs pièces de partager le même IPN"
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "Autoriser l'édition de l'IPN"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr "Copier les données de la pièce"
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce"
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr "Copier les données des paramètres de la pièce"
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce"
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr "Copier les données de test de la pièce"
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr "Copier les données de test par défaut lors de la duplication d'une pièce"
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr "Copier les templates de paramètres de catégorie"
-#: common/models.py:1093
+#: common/models.py:1100
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:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Modèle"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "Les pièces sont des templates par défaut"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Assemblage"
-#: common/models.py:1107
+#: common/models.py:1114
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:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Composant"
-#: common/models.py:1114
+#: common/models.py:1121
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:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "Achetable"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "Les pièces sont achetables par défaut"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Vendable"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "Les pièces sont vendables par défaut"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Traçable"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "Les pièces sont traçables par défaut"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Virtuelle"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Les pièces sont virtuelles par défaut"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr "Afficher l'import dans les vues"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr "Afficher l'assistant d'importation pour certaine vues de produits"
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "Afficher les pièces connexes"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr "Afficher les pièces connexes à une pièce"
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr "Stock initial"
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce"
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr "Données initiales du fournisseur"
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Permettre la création des données initiales du fournisseur lors de l'ajout d'une nouvelle pièce"
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr "Format d'affichage du nom de la pièce"
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr "Format pour afficher le nom de la pièce"
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr "Icône de catégorie par défaut"
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)"
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr "Décimales de tarification"
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr "Nombre de décimales à afficher lors du rendu des données de prix"
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr "Utiliser le prix fournisseur"
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Inclure les réductions de prix dans le calcul du prix global"
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr "Remplacer l'historique des achats"
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs"
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr "Utiliser les prix des articles en stock"
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix"
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr "Âge de tarification des articles de stock"
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix"
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr "Utiliser les prix variants"
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr "Inclure la tarification variante dans le calcul global des prix"
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr "Variantes actives uniquement"
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante"
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr "Temps de reconstruction des prix"
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce"
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr "jours"
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr "Prix internes"
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr "Activer les prix internes pour les pièces"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr "Substitution du prix interne"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr "Activer l'impression d'étiquettes"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr "Activer l'impression d'étiquettes depuis l'interface Web"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr "Étiquette image DPI"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes"
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr "Activer les rapports"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr "Activer la génération de rapports"
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Mode Débogage"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr "Générer des rapports en mode debug (sortie HTML)"
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "Taille de la page"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "Taille de page par défaut pour les rapports PDF"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr "Activer les rapports de test"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr "Activer la génération de rapports de test"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr "Joindre des rapports de test"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé"
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr "Numéro de Série Universellement Unique"
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global"
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr "Remplir automatiquement les Numéros de Série"
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr "Remplir automatiquement les numéros de série dans les formulaires"
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr "Supprimer le stock épuisé"
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr "Détermine le comportement par défaut lorsqu'un article de stock est épuisé"
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr "Modèle de code de lot"
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr "Modèle pour générer des codes par défaut pour les articles en stock"
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr "Expiration du stock"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr "Activer la fonctionnalité d'expiration du stock"
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr "Vendre le stock expiré"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr "Autoriser la vente de stock expiré"
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr "Délai de péremption du stock"
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer"
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr "Construction de stock expirée"
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr "Autoriser la construction avec un stock expiré"
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr "Contrôle de la propriété des stocks"
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles"
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr "Icône par défaut de l'emplacement du stock"
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)"
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr "Modèle de référence de commande de construction"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr "Modèle de référence de bon de commande"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr "Modèle requis pour générer le champ de référence du bon de commande"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr "Expédition par défaut du bon de commande"
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr "Activer la création d'expédition par défaut avec les bons de commandes"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr "Modifier les commandes de vente terminées"
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées"
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr "Modèle de référence de commande d'achat"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Modèle requis pour générer le champ de référence de bon de commande"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr "Modifier les bons de commande terminés"
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés"
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr "Activer les mots de passe oubliés"
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr "Activer les inscriptions"
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr "Activer le SSO"
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr "Activer le SSO sur les pages de connexion"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr "Activer l'inscription SSO"
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion"
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "Email requis"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr "Saisie automatique des utilisateurs SSO"
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO"
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr "Courriel en double"
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr "Mot de passe deux fois"
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr "Domaines autorisés"
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr "Restreindre l'inscription à certains domaines (séparés par des virgules, commence par @)"
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr "Grouper sur inscription"
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription"
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr "Forcer l'authentification multifacteurs"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs."
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr "Vérifier les plugins au démarrage"
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs"
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr "Vérifier les signatures du plugin"
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr "Vérifier et afficher les signatures des plugins"
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr "Activer l'intégration d'URL"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr "Autoriser les plugins à ajouter des chemins URL"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr "Activer l'intégration de navigation"
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr "Activer les plugins à s'intégrer dans la navigation"
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr "Activer l'intégration de plugins"
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr "Activer l'intégration de plugin pour ajouter des apps"
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr "Activer l'intégration du planning"
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr "Autoriser les plugins à éxécuter des tâches planifiées"
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr "Activer l'intégration des évènements"
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr "Autoriser les plugins à répondre aux évènements internes"
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr "Clé du paramètre (doit être unique - insensible à la casse)"
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr "Afficher les composants suivis"
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr "Afficher les composants suivis sur l'écran d'accueil"
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr "Afficher les catégories suivies"
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr "Afficher les catégories de pièces suivies sur la page d'accueil"
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Afficher les dernières pièces"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Afficher les derniers composants sur la page d'accueil"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr "Nombre de composants récents"
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr "Nombre de pièces récentes à afficher sur la page d'index"
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr "Afficher les listes de matériaux non validées"
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr "Afficher les listes de matériaux en attente de validation sur la page d'accueil"
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr "Afficher les dernières modifications du stock"
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr "Afficher les articles de stock récemment modifiés sur la page d'accueil"
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr "Compte de stock récent"
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr "Nombre d'éléments de stock récents à afficher sur la page d'index"
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr "Afficher le stock faible"
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr "Afficher les articles en stock bas sur la page d'accueil"
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr "Afficher le stock épuisé"
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr "Afficher les stocks épuisés sur la page d'accueil"
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr "Afficher le stock nécessaire"
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr "Afficher les pièces en stock nécessaires pour les assemblages sur la page d'accueil"
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr "Afficher le stock expiré"
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr "Afficher les pièces en stock expirées sur la page d'accueil"
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr "Afficher le stock périmé"
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr "Afficher les articles de stock périmés sur la page d'accueil"
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr "Afficher les constructions en attente"
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr "Afficher les constructions en attente sur la page d'accueil"
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr "Afficher les constructions en retard"
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr "Afficher les constructions en retard sur la page d'accueil"
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr "Afficher les commandes en suspens"
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr "Afficher les commandes en suspens sur la page d'accueil"
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr "Afficher les commandes en retard"
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr "Afficher les commandes en retard sur la page d'accueil"
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr "Afficher les envois en suspens"
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr "Afficher les envois en suspens sur la page d'accueil"
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr "Afficher les envois en retard"
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr "Afficher les envois en retard sur la page d'accueil"
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr "Afficher les nouvelles"
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr "Afficher les nouvelles sur la page d'accueil"
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr "Affichage du libellé en ligne"
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier"
-#: common/models.py:1747
+#: common/models.py:1795
+msgid "Default label printer"
+msgstr ""
+
+#: common/models.py:1796
+msgid "Configure which label printer should be selected by default"
+msgstr ""
+
+#: common/models.py:1802
msgid "Inline report display"
msgstr "Affichage du rapport en ligne"
-#: common/models.py:1748
+#: common/models.py:1803
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier"
-#: common/models.py:1754
+#: common/models.py:1809
msgid "Search Parts"
msgstr "Rechercher de pièces"
-#: common/models.py:1755
+#: common/models.py:1810
msgid "Display parts in search preview window"
msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche"
-#: common/models.py:1761
+#: common/models.py:1816
msgid "Seach Supplier Parts"
msgstr "Chercher des pièces fournisseur"
-#: common/models.py:1762
+#: common/models.py:1817
msgid "Display supplier parts in search preview window"
msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche"
-#: common/models.py:1768
+#: common/models.py:1823
msgid "Search Manufacturer Parts"
msgstr "Rechercher les pièces du fabricant"
-#: common/models.py:1769
+#: common/models.py:1824
msgid "Display manufacturer parts in search preview window"
msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:1775
+#: common/models.py:1830
msgid "Hide Inactive Parts"
msgstr "Masquer les pièces inactives"
-#: common/models.py:1776
+#: common/models.py:1831
msgid "Excluded inactive parts from search preview window"
msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche"
-#: common/models.py:1782
+#: common/models.py:1837
msgid "Search Categories"
msgstr "Rechercher des catégories"
-#: common/models.py:1783
+#: common/models.py:1838
msgid "Display part categories in search preview window"
msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:1789
+#: common/models.py:1844
msgid "Search Stock"
msgstr "Rechercher dans le stock"
-#: common/models.py:1790
+#: common/models.py:1845
msgid "Display stock items in search preview window"
msgstr "Afficher les pièces en stock dans la fenêtre d'aperçu de la recherche"
-#: common/models.py:1796
+#: common/models.py:1851
msgid "Hide Unavailable Stock Items"
msgstr "Cacher les pièces indisponibles"
-#: common/models.py:1797
+#: common/models.py:1852
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche"
-#: common/models.py:1803
+#: common/models.py:1858
msgid "Search Locations"
msgstr "Chercher des Emplacements"
-#: common/models.py:1804
+#: common/models.py:1859
msgid "Display stock locations in search preview window"
msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche"
-#: common/models.py:1810
+#: common/models.py:1865
msgid "Search Companies"
msgstr "Rechercher les entreprises"
-#: common/models.py:1811
+#: common/models.py:1866
msgid "Display companies in search preview window"
msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:1817
+#: common/models.py:1872
msgid "Search Build Orders"
msgstr "Rechercher les commandes de construction"
-#: common/models.py:1818
+#: common/models.py:1873
msgid "Display build orders in search preview window"
msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:1824
+#: common/models.py:1879
msgid "Search Purchase Orders"
msgstr "Rechercher des bons de commande"
-#: common/models.py:1825
+#: common/models.py:1880
msgid "Display purchase orders in search preview window"
msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:1831
+#: common/models.py:1886
msgid "Exclude Inactive Purchase Orders"
msgstr "Exclure les bons de commande inactifs"
-#: common/models.py:1832
+#: common/models.py:1887
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche"
-#: common/models.py:1838
+#: common/models.py:1893
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1839
+#: common/models.py:1894
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1845
+#: common/models.py:1900
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1846
+#: common/models.py:1901
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1852
+#: common/models.py:1907
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1853
+#: common/models.py:1908
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1859
+#: common/models.py:1914
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1860
+#: common/models.py:1915
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1866
+#: common/models.py:1921
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1867
+#: common/models.py:1922
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1873
+#: common/models.py:1928
msgid "Fixed Navbar"
msgstr "Barre de navigation fixe"
-#: common/models.py:1874
+#: common/models.py:1929
msgid "The navbar position is fixed to the top of the screen"
msgstr "La position de la barre de navigation est fixée en haut de l'écran"
-#: common/models.py:1880
+#: common/models.py:1935
msgid "Date Format"
msgstr "Format de date"
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr "Format préféré pour l'affichage des dates"
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Prix"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr "Actif"
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr "Jeton"
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr "Confidentiel"
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr "ID message"
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr "Identifiant unique pour ce message"
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr "Hôte"
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr "Hôte à partir duquel ce message a été reçu"
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr "Entête"
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr "En-tête de ce message"
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr "Corps"
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr "Corps de ce message"
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr "Le travail sur ce message est-il terminé ?"
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
-msgstr ""
+msgstr "Id"
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
-msgstr ""
+msgstr "Titre"
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Auteur"
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
-msgstr ""
+msgstr "Résumé"
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
-msgstr ""
+msgstr "Cette nouvelle a-t-elle été lue ?"
#: common/notifications.py:294
#, python-brace-format
@@ -3011,11 +3061,11 @@ msgstr "Des articles d'un bon de commande ont été reçus"
#: common/notifications.py:416
msgid "Error raised by plugin"
-msgstr ""
+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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Téléverser un fichier"
@@ -3023,7 +3073,7 @@ msgstr "Téléverser un fichier"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr "Description de la société"
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Site web"
@@ -3075,11 +3125,11 @@ msgstr "Adresse"
#: company/models.py:116
msgid "Company address"
-msgstr ""
+msgstr "Adresse de l'entreprise"
#: company/models.py:119
msgid "Phone number"
-msgstr ""
+msgstr "Numéro de téléphone"
#: company/models.py:120
msgid "Contact phone number"
@@ -3096,7 +3146,7 @@ msgstr "Adresse e-mail de contact"
#: company/models.py:126 company/templates/company/company_base.html:140
msgid "Contact"
-msgstr ""
+msgstr "Contact"
#: company/models.py:127
msgid "Point of contact"
@@ -3106,13 +3156,13 @@ msgstr "Point de contact"
msgid "Link to external company information"
msgstr "Lien externe vers les informations de l'entreprise"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
-msgstr ""
+msgstr "Image"
#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
-msgstr ""
+msgstr "Notes de l'entreprise"
#: company/models.py:145
msgid "is customer"
@@ -3138,229 +3188,219 @@ msgstr "est fabricant"
msgid "Does this company manufacture parts?"
msgstr "Cette entreprise fabrique-t-elle des pièces?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Devise"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Fabricant"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Sélectionner un fabricant"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Pièces du fabricant"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "Nom du paramètre"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Valeur"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "Valeur du paramètre"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "Unités"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "Unités du paramètre"
-
-#: company/models.py:456
-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:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Fournisseur"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Sélectionner un fournisseur"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr "SKU"
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr "Unité de gestion des stocks des fournisseurs"
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr "Sélectionner un fabricant"
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr "Lien de la pièce du fournisseur externe"
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr "Description de la pièce du fournisseur"
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Note"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr "coût de base"
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr "Frais minimums (par exemple frais de stock)"
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "Conditionnement"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr "Conditionnement de l'article"
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr "Nombre de paquet"
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr "Nombre d'unités fournies dans un seul paquet"
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr "plusieurs"
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr "Commande multiple"
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr "Disponible"
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr "Quantité disponible auprès du fournisseur"
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr "Disponibilité mise à jour"
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr "Date de dernière mise à jour des données de disponibilité"
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr "Devise par défaut utilisée pour ce fournisseur"
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Code Devise"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "Société"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Fabricant"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Sélectionner un fabricant"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Pièces du fabricant"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "Nom du paramètre"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Valeur"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "Valeur du paramètre"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "Unités"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "Unités du paramètre"
+
+#: company/models.py:475
+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:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Fournisseur"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Sélectionner un fournisseur"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr "SKU"
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr "Unité de gestion des stocks des fournisseurs"
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr "Sélectionner un fabricant"
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr "Lien de la pièce du fournisseur externe"
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr "Description de la pièce du fournisseur"
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Note"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr "coût de base"
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr "Frais minimums (par exemple frais de stock)"
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "Conditionnement"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr "Conditionnement de l'article"
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr "Nombre de paquet"
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr "Nombre d'unités fournies dans un seul paquet"
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr "plusieurs"
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr "Commande multiple"
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr "Disponible"
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr "Quantité disponible auprès du fournisseur"
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr "Disponibilité mise à jour"
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr "Date de dernière mise à jour des données de disponibilité"
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr "Devise par défaut utilisée pour ce fournisseur"
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Créer une commande d'achat"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr "Éditer les informations sur la société"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "Editer la société"
@@ -3401,14 +3441,14 @@ msgstr "Télécharger l'image depuis l'URL"
msgid "Delete image"
msgstr "Supprimer image"
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Client"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "Téléphone"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr "Supprimer l'image"
@@ -3430,19 +3470,19 @@ 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:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Charger une image"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "Télécharger une image"
@@ -3458,13 +3498,13 @@ msgstr "Créer une nouvelle pièce fournisseur"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Nouvelle pièce fournisseur"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Commander des composants"
@@ -3487,7 +3527,7 @@ msgstr "Pièces du fabricant"
msgid "Create new manufacturer part"
msgstr "Créer une nouvelle pièce de fabricant"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Nouvelle pièce de fabricant"
@@ -3501,11 +3541,11 @@ msgstr "Stock fournisseur"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Commandes d'achat"
@@ -3524,11 +3564,11 @@ msgstr "Nouvelle commande achat"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Ventes"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "Nouvelle commande de vente"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr "Stock affecté"
@@ -3558,17 +3598,17 @@ msgstr "Fabricants"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Article de la commande"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "Modifier la pièce du fabricant"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "Supprimer la pièce de fabricant"
@@ -3583,34 +3623,34 @@ msgstr "Aucune information sur le fabricant disponible"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Fournisseurs"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
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:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "Supprimer"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Paramètres"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr "Supprimer les paramètres"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr "Ajouter un paramètre"
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr "Articles en stock assignés"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Pièce fournisseur"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr "Actions de code-barres"
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "Afficher le QR Code"
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr "Délier le code-barre"
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr "Lier le code-barre"
@@ -3685,7 +3725,7 @@ msgstr "Actions de la pièce du fournisseur"
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "Commander un composant"
@@ -3696,13 +3736,13 @@ msgstr "Disponibilité de la mise à jour"
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr "Modifier la pièce du fournisseur"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr "Dupliquer la pièce du fournisseur"
@@ -3717,7 +3757,7 @@ msgstr "Supprimer la pièce du fournisseur"
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr "Identifiant du code-barres"
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr "Aucune information de fournisseur disponible"
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Stock de pièces du fournisseur"
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr "Créer un nouvel article de stock"
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr "Nouvel article de stock"
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Commandes de pièces du fournisseur"
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr "Information sur les prix"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr "Ajouter un prix de rupture"
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr "Lier le code-barres à la pièce du fournisseur"
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr "Mettre à jour la disponibilité des pièces"
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Éléments en stock"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Commandes"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr "Prix de la pièce du fournisseur"
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "Tarif"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Éléments en stock"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "Nouveau Fournisseur"
@@ -3828,10 +3848,6 @@ msgstr "Entreprises"
msgid "New Company"
msgstr "Nouvelle Entreprise"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr "Code QR de l'article en stock"
-
#: label/models.py:102
msgid "Label name"
msgstr "Nom de l'étiquette"
@@ -3848,7 +3864,7 @@ msgstr "Étiquette"
msgid "Label template file"
msgstr "Fichier de modèle d'étiquette"
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr "Activé"
@@ -3872,7 +3888,7 @@ msgstr "Hauteur [mm]"
msgid "Label height, specified in mm"
msgstr "Hauteur de l'étiquette, spécifiée en mm"
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr "Modèle de nom de fichier"
@@ -3885,7 +3901,7 @@ 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:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Filtres"
@@ -3897,447 +3913,443 @@ msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virg
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)"
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr "Aucun bon de commande correspondant n'a été trouvé"
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr "Description de la commande"
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr "Lien vers une page externe"
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr "Créé par"
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr "Notes de commande"
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
-msgstr ""
+msgstr "Référence de la commande"
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
-msgstr ""
+msgstr "Statut de la commande d'achat"
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
-msgstr ""
+msgstr "Société de laquelle les articles sont commandés"
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
-msgstr ""
+msgstr "Référence du fournisseur"
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
-msgstr ""
+msgstr "Code de référence de la commande fournisseur"
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr "reçu par"
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr "Date d'émission"
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr "Date d'émission de la commande"
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Date de livraison cible"
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date."
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr "Date à laquelle la commande a été complété"
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr "Nom de l’expédition"
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr "expédié par"
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée"
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr "Seule une commande en attente peut être marquée comme terminée"
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "La commande ne peut pas être terminée car il y a des envois incomplets"
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr "Nombre d'élement"
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr "Contexte"
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr "Commande"
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr "Pièce fournisseur"
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr "Reçu"
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr "Nombre d'éléments reçus"
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Prix d'achat"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr "Prix de vente"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr "Envoi"
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr "Ligne"
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr "Article"
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr "Devise *"
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr "La commande ne peut pas être annulée"
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr "La commande n'est pas ouverte"
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr "Devise du prix d'achat"
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr "Entrez les numéros de série pour les articles de stock entrants"
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr "Champ d'identifiant unique"
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr "Le code-barres est déjà utilisé"
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr "Une quantité entière doit être fournie pour les pièces tracables"
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr "Entrez les numéros de série à allouer"
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr "Aucune correspondance trouvée pour les numéros de série suivants"
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr "Les numéros de série suivants sont déjà alloués"
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Supprimer la ligne"
@@ -4566,7 +4578,7 @@ msgstr "Articles de la commande d'achat"
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr "Expéditions en attente"
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr "ID de composant"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr "Révision"
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "En Commande"
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Composantes"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 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:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "Catégories de composants"
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "Description du composant"
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr "Catégorie"
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr "Catégorie de la pièce"
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr "Date"
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr "Requis"
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr "Données"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr "Valeur par Défaut"
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Surplus"
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr "Devise d'achat de l'item"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr "Copier l'image"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr "Copier les paramètres"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr "Supprimer l'élément"
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr "Modifier la catégorie"
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr "Modifier la catégorie"
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr "Supprimer la catégorie"
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr "Supprimer la catégorie"
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "Composantes (incluant sous-catégories)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "Nouvelle catégorie"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr "Actualiser"
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr "Prise d'inventaire"
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr "Fabricants de composants"
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr "Sélectionner un format de fichier"
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "Impression étiquette"
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr "Dernier numéro de série"
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr "Rechercher un numéro de série"
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr "Calculer"
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Stock"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "Tarif"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr "Tester le modèle"
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr "Base de données inconnue"
msgid "{title} v{version}"
msgstr "{title} v{version}"
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr "L'extension `{plg_name}` n'est pas compatible avec la version actuelle d'InvenTree {version.inventreeVersion()} !"
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr "Filtres de composants"
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr "Extrait "
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr "Elément"
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "Numéro de série"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr "Résultat"
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr "Numéro de série"
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr "Propriétaire"
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr "Sélectionner un propriétaire"
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-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:592
-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:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr "Propriétaire"
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr "Sélectionner un propriétaire"
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+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:604
+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:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr "Numéro de série pour cet article"
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
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:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr "La quantité ne correspond pas au nombre de numéros de série"
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Les numéros de série existent déja : {exists}"
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr "Entrez le nombre d'articles en stock à sérialiser"
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr "Entrez les numéros de série pour les nouveaux articles"
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
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:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "Les numéros de série existent déjà"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Cet article de stock est sérialisé - il a un numéro de série unique et la quantité ne peut pas être ajustée."
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr "page précédente"
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr "Accéder au numéro de série précédent"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr "Accéder au numéro de série suivant"
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr "Code QR de l'article en stock"
+
+#: 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:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr "Sélectionner la quantité à sérialiser et les numéros de série uniques."
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr "Autorisation refusée"
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr "Paramètres des Extensions"
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr "Extensions"
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr "Aucune valeur définie"
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr "Paramètres Globaux"
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr "Catégories"
@@ -8514,11 +8680,11 @@ msgstr "Entrer un token généré par l'application :"
msgid "Verify"
msgstr "Vérifier"
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr "Ajouter un lien"
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "Ajouter une pièce jointe"
@@ -8526,7 +8692,7 @@ msgstr "Ajouter une pièce jointe"
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr "Quantité requise"
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr "Aucune réponse"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr "Aucune réponse du serveur InvenTree"
@@ -8611,27 +8777,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:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr "Erreur 401: non authentifié"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr "Informations d’authentification non fournies"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr "Erreur 403: Permission refusée"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
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:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr "Erreur 404: Ressource introuvable"
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
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"
@@ -8643,11 +8809,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:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr "Erreur 408: Délai dépassé"
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
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"
@@ -8659,27 +8825,27 @@ msgstr "Code d'erreur non géré"
msgid "Error code"
msgstr "Code d’erreur"
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr "Aucune pièce jointe trouvée"
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr "Modifier la pièce jointe"
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr "Date d'upload"
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr "Modifier la pièce jointe"
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr "Supprimer la pièce jointe"
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr "Réponse inconnue du serveur"
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr "Réponse du serveur invalide"
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr "Délier"
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr "Supprimer l'article de stock"
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr "Données de la rangée"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr "Prochain numéro de série disponible"
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr "Dernier numéro de série"
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr "Commander des stocks"
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr "Pas d'informations sur l'utilisateur"
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr "Composantes fournies"
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr "Composantes fabriquées"
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr "Sélectionner imprimante"
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "Annuler"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr "Référence de commande"
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr "Commandé"
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr "Commande en retard"
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr "Livré au client"
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr "Allouer des numéros de série"
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr "Acheter du stock"
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr "Calculer le prix"
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr "Allouer des numéros de série"
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr "Attributs de la pièce"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr "Options de création de pièce"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr "Options de duplication de pièces"
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr "Ajouter une catégorie de pièce"
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr "Composant créé avec succès"
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr "Modifier la pièce"
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr "Pièce modifiée"
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr "Créer une variante de pièce"
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr "Stock bas"
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr "Pièce traçable"
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr "Pièce virtuelle"
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr "Pièce vendable"
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr "Aucune variante trouvée"
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr "Aucune pièce trouvée"
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr "Aucune catégorie"
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr "Afficher sous forme de liste"
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr "Afficher sous forme de grille"
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr "Afficher sous forme d'arborescence"
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr "Modifier le résultat du test"
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr "Supprimer le résultat du test"
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr "Le plugin a été installé"
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)"
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr "Trouver un numéro de série"
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr "Entrer le numéro de série"
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr "Entrer un numéro de série"
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr "Aucun numéro de série correspondant"
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr "Plus d'un résultat correspondant trouvé"
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr "Confirmer l'assignation de stock"
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr "Assigner le stock au client"
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr "Attention : l'opération de fusion est irréversible"
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr "Certaines informations seront perdues lors de la fusion des articles en stock"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr "L'historique des transactions de stock sera supprimé pour les éléments fusionnés"
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr "Les informations sur la pièce du fournisseur seront supprimées pour les éléments fusionnés"
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr "Confirmer la fusion de l'article en stock"
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr "Fusionner les articles en stock"
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr "Transférer le stock"
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr "Transférer"
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr "Compter le stock"
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr "Compter"
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr "Supprimer du stock"
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr "Supprimer"
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr "Ajouter du stock"
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr "Ajouter"
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr "Supprimer le stock"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr "Spécifiez la quantité du stock"
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr "Vous devez sélectionner au moins un article en stock disponible"
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr "RÉUSSI"
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr "ÉCHEC"
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr "AUCUN RÉSULTAT"
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr "Ajouter un résultat de test"
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr "Aucun résultat de test trouvé"
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr "Date du test"
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr "En production"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr "Article en stock installé dans un autre article en stock"
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr "Assigné à une commande de vente"
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr "Aucun emplacement de stock défini"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr "L'article de stock est en production"
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr "L'article en stock a été assigné à une commande de vente"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr "L'article en stock a été assigné à un client"
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr "L'article de stock sérialisé a été alloué"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr "L'article de stock a été complètement alloué"
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr "L'article de stock a été partiellement alloué"
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
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:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr "L'article en stock a expiré"
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr "L'article en stock va bientôt expirer"
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr "L'article de stock a été rejeté"
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr "L'article de stock est perdu"
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr "L'article de stock est détruit"
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr "Epuisé"
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr "Pièce de fournisseur non précisée"
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr "Aucun article de stock ne correspond à la requête"
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr "Définir l'état du stock"
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr "Sélectionner le code de statut"
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr "Le code de statut doit être sélectionné"
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr "Détails"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr "L'emplacement n'existe plus"
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr "La commande d'achat n'existe plus"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr "Le client n'existe plus"
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr "L'article de stock n'existe plus"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr "Ajouté"
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr "Supprimé"
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr "Inclure les sous-emplacements"
@@ -10973,218 +11138,218 @@ msgstr "Inclure les sous-emplacements"
msgid "Include locations"
msgstr "Inclure les emplacements"
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr "Inclure les sous-catégories"
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:250
msgid "Is Serialized"
msgstr "A un numéro de série"
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:257
msgid "Serial number GTE"
msgstr "Numéro de série PGE"
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:258
msgid "Serial number greater than or equal to"
msgstr "Numéro de série supérieur ou égal à"
-#: templates/js/translated/table_filters.js:171
-#: templates/js/translated/table_filters.js:257
+#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
msgid "Serial number LTE"
msgstr "Numéro de série PPE"
-#: templates/js/translated/table_filters.js:172
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:262
msgid "Serial number less than or equal to"
msgstr "Numéro de série inférieur ou égal à"
-#: templates/js/translated/table_filters.js:175
-#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr "Numéro de série"
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr "Code de lot"
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr "Pièces actives"
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr "Afficher le stock pour les pièces actives"
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr "La pièce est un assemblage"
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr "Est alloué"
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr "L'élément a été alloué"
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr "Le stock est disponible pour utilisation"
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr "Afficher les articles de stock qui sont installés dans un autre article"
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr "Afficher les articles qui ont été assignés à un client"
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr "État du stock"
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr "A un prix d'achat"
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr "Afficher les articles de stock qui ont un prix d'achat défini"
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr "Afficher les articles de stock qui ont expiré"
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr "Afficher le stock qui est proche de l'expiration"
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr "État de la construction"
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr "Assigné à moi"
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr "État de la commande"
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr "En suspens"
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr "Inclure les pièces des sous-catégories"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr "Afficher les pièces actives"
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr "A un IPN"
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr "La pièce a un numéro de pièce interne"
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr "Achetable"
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr "Utilisateurs"
msgid "Select which users are assigned to this group"
msgstr "Sélectionner quels utilisateurs sont assignés à ce groupe"
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr "Les utilisateurs suivants sont membres de plusieurs groupes:"
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr "Informations personnelles"
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr "Droits"
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr "Dates importantes"
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "Droit défini"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr "Groupe"
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "Vue"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "Droit de voir des éléments"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "Droit d'ajouter des éléments"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr "Modifier"
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "Droit de modifier des élément"
-#: users/models.py:225
+#: users/models.py:231
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 8172aa9fd2..80aa49ac48 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -29,23 +29,23 @@ msgstr ""
msgid "Enter date"
msgstr "הזן תאריך סיום"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr ""
@@ -58,23 +58,23 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "הכנס סיסמה"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "הכנס סיסמה חדשה"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "אישור סיסמה"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "אשר סיסמה חדשה"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr ""
@@ -130,7 +130,7 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr ""
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "קובץ חסר"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "חסר קישור חיצוני"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "קובץ מצורף"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "קישור"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "קישור חיצוני"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "הערה"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "הערת קובץ"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "משתמש"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "תאריך העלאה"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "חובה למלא שם קובץ"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "תיקיית קובץ שגויה"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "שם הקובץ מכיל תו '{c}' שאינו חוקי"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "שגיאה בשינוי שם פריט"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "בחירה שגויה"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "שם"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "תיאור"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "תיאור (לא חובה)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "מקור"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr ""
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "שם קובץ"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "גרמנית"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "יוונית"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "אנגלית"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "ספרדית"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "ספרדית (מקסיקנית)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "צרפתית"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "עברית"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "איטלקית"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "יפנית"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "קוריאנית"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "הולנדית"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "נורווגית"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "פולנית"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "רוסית"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "שוודית"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "תאילנדית"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "טורקית"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "ווייטנאמית"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "סינית"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr ""
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "בהמתנה"
@@ -579,8 +592,8 @@ msgstr "אבד"
msgid "Returned"
msgstr "הוחזר"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "נשלח"
@@ -664,7 +677,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr ""
@@ -672,7 +685,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "נשלח ללקוח"
@@ -721,27 +734,27 @@ msgstr ""
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "ערוך מידע אודות המשתמש"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "הגדר סיסמא"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "הסיסמאות מוכרחות להיות תואמות"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "מידע אודות המערכת"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr ""
@@ -749,44 +762,44 @@ msgstr ""
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr ""
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr ""
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "מקט"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "רכיב"
@@ -855,8 +869,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr ""
@@ -896,21 +910,21 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr ""
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr ""
@@ -918,8 +932,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr ""
@@ -927,7 +941,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr ""
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr ""
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "כמות"
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "מספרים סידוריים"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr ""
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 52a3bcc918..2c0f9445de 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:03\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -29,23 +29,23 @@ msgstr "A hiba részleteit megtalálod az admin panelen"
msgid "Enter date"
msgstr "Dátum megadása"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Megjegyzések"
@@ -58,23 +58,23 @@ msgstr "A(z) '{name}' érték nem a szükséges minta szerinti"
msgid "Provided value does not match required pattern: "
msgstr "A megadott érték nem felel meg a szükséges mintának: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Jelszó megadása"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Új jelszó megadása"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Jelszó megerősítése"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Új jelszó megerősítése"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Régi jelszó"
@@ -130,7 +130,7 @@ msgstr "A kiszolgáló üres választ adott"
msgid "Supplied URL is not a valid image file"
msgstr "A megadott URL nem egy érvényes kép fájl"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Nem megfelelő mennyiség"
@@ -170,23 +170,23 @@ msgstr "A megadott számú egyedi sorozatszám ({s}) meg kell egyezzen a darabsz
msgid "Remove HTML tags from this value"
msgstr "HTML tag-ek eltávolítása ebből az értékből"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Helytelenül formázott minta"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Ismeretlen formátum kulcs lett megadva"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Hiányzó formátum kulcs"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Az azonosító mező nem lehet üres"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Az azonosítónak egyeznie kell a mintával"
@@ -194,350 +194,363 @@ msgstr "Az azonosítónak egyeznie kell a mintával"
msgid "Reference number is too large"
msgstr "Azonosító szám túl nagy"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Hiányzó fájl"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Hiányzó külső link"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Melléklet"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Link külső URL-re"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Megjegyzés"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Leírás, bővebb infó"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Felhasználó"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "feltöltés dátuma"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "A fájlnév nem lehet üres"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Érvénytelen melléklet mappa"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Fájlnévben érvénytelen karakter van '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Fájlnév kiterjesztése hiányzik"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Ilyen fájlnévvel már létezik melléklet"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Hiba a fájl átnevezésekor"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Érvénytelen választás"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Név"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Leírás"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Leírás (opcionális)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "szülő"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Elérési út"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Vonalkód adat"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Harmadik féltől származó vonalkód adat"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Vonalkód hash"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Egyedi vonalkód hash"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Létező vonalkód"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Kiszolgálóhiba"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "A kiszolgáló egy hibaüzenetet rögzített."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Pénznem"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr "Válassz pénznemet a lehetőségek közül"
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Fájlnév"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Érvénytelen érték"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Adat fájl"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Fájl kiválasztása feltöltéshez"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Nem támogatott fájltípus"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Fájl túl nagy"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Nem találhatók oszlopok a fájlban"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Nincsenek adatsorok a fájlban"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Nincs adatsor megadva"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Nincs adat oszlop megadva"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Szükséges oszlop hiányzik: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikált oszlop: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "A távoli kép URL-je"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
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:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Cseh"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Dán"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Német"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Görög"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Angol"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Spanyol (Mexikói)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Fárszi/Perzsa"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Francia"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Héber"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Magyar"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Olasz"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japán"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Koreai"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Holland"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norvég"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Lengyel"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugál"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugál (Brazíliai)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Orosz"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Szlovén"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Svéd"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Tháj"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Török"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnámi"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Kínai"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Háttér folyamat ellenőrzés sikertelen"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Függőben"
@@ -579,8 +592,8 @@ msgstr "Elveszett"
msgid "Returned"
msgstr "Visszaküldve"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Kiszállítva"
@@ -664,7 +677,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:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Összevont készlet tétel"
@@ -672,7 +685,7 @@ msgstr "Összevont készlet tétel"
msgid "Converted to variant"
msgstr "Alkatrészváltozattá alakítva"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Vevőnek elküldve"
@@ -721,27 +734,27 @@ msgstr "Túlszállítás nem lehet több mint 100%"
msgid "Invalid value for overage"
msgstr "Érvénytelen érték a túlszállításra"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Felhasználói információ módosítása"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Jelszó beállítása"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "A jelszavaknak egyeznie kell"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Rossz jelszó lett megadva"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Rendszerinformáció"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Verzió információk"
@@ -749,44 +762,44 @@ msgstr "Verzió információk"
msgid "Build must be cancelled before it can be deleted"
msgstr "A gyártást be kell fejezni a törlés előtt"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Hibás választás a szülő gyártásra"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Gyártási utasítás"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Gyártási utasítások"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Hibás választás a szülő gyártásra"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Gyártási utasítás azonosító"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Azonosító"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Alkatrész"
@@ -855,8 +869,8 @@ msgstr "Vevői rendelés azonosító"
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:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Forrás hely"
@@ -896,21 +910,21 @@ msgstr "Gyártási állapot"
msgid "Build status code"
msgstr "Gyártás státusz kód"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Batch kód"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Batch kód a gyártás kimenetéhez"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Létrehozás dátuma"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Befejezés cél dátuma"
@@ -918,8 +932,8 @@ msgstr "Befejezés cél dátuma"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Elkészítés dátuma"
@@ -927,7 +941,7 @@ msgstr "Elkészítés dátuma"
msgid "completed by"
msgstr "elkészítette"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Kiállította"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Felhasználó aki ezt a gyártási utasítást kiállította"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Felelős"
@@ -952,8 +966,8 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért"
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Külső link"
@@ -999,11 +1013,11 @@ msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Készlet túlfoglalva"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie"
@@ -1016,7 +1030,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:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Gyártás"
@@ -1025,18 +1039,18 @@ msgstr "Gyártás"
msgid "Build to allocate parts"
msgstr "Gyártás amihez készletet foglaljunk"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Készlet tétel"
@@ -1044,12 +1058,12 @@ msgstr "Készlet tétel"
msgid "Source stock item"
msgstr "Forrás készlet tétel"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Forrás készlet tétel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Mennyiség"
@@ -1097,250 +1110,250 @@ msgstr "Beépítés ebbe"
msgid "Destination stock item"
msgstr "Cél készlet tétel"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Gyártás kimenet"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Gyártási kimenet nem egyezik a szülő gyártással"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Ez a gyártási kimenet már elkészült"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Add meg a mennyiséget a gyártás kimenetéhez"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
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:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Sorozatszámok"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "Sorozatszámok automatikus hozzárendelése"
-#: build/serializers.py:247
+#: build/serializers.py:248
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:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek"
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr "A gyártási kimenetek listáját meg kell adni"
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Hely"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr "A kész gyártási kimenetek helye"
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Állapot"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr "Hiányos foglalás elfogadása"
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Kimenetek befejezése akkor is ha a készlet nem\n"
"lett teljesen lefoglalva"
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr "Lefoglalt készlet levonása"
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr "Az összes lefoglalt tétel levonása a készletről"
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr "Befejezetlen kimenetek törlése"
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr "A nem befejezett gyártási kimenetek törlése"
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr "Gyártásban fel lett használva"
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr "Foglalás felszabadítása a készre jelentés előtt"
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr "Túlfoglalt készlet"
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Hogyan kezeljük az gyártáshoz rendelt extra készletet"
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr "Pár készlet tétel túl lett foglalva"
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "Kiosztatlanok elfogadása"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "A szükséges készlet nem lett teljesen lefoglalva"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Befejezetlenek elfogadása"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "Szükséges gyártási mennyiség nem lett elérve"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr "Gyártás kimenet"
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia"
-#: build/serializers.py:655
+#: build/serializers.py:665
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:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "A tételnek kell legyen készlete"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Rendelkezésre álló mennyiség ({q}) túllépve"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához"
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához"
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr "Ez a készlet tétel már le lett foglalva ehhez a gyártási kimenethez"
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr "A lefoglalandó tételeket meg kell adni"
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "Hely kizárása"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "Készlet tételek kizárása erről a kiválasztott helyről"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr "Felcserélhető készlet"
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "Készlet helyettesítés"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr "Helyettesítő alkatrészek foglalásának engedélyezése"
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr "Opcionális tételek"
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr "Opcionális tételek lefoglalása a gyártáshoz"
@@ -1427,13 +1440,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Még nincs lefoglalva a szükséges készlet"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Cél dátum"
@@ -1446,29 +1459,29 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes"
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Késésben"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Kész"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Vevői rendelés"
@@ -1479,7 +1492,7 @@ msgid "Issued By"
msgstr "Kiállította"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr "Prioritás"
@@ -1499,8 +1512,8 @@ msgstr "Készlet forrás"
msgid "Stock can be taken from any available location."
msgstr "Készlet bármely rendelkezésre álló helyről felhasználható."
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Cél"
@@ -1512,21 +1525,21 @@ msgstr "A cél hely nincs megadva"
msgid "Allocated Parts"
msgstr "Lefoglalt alkatrészek"
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Batch"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Létrehozva"
@@ -1546,7 +1559,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:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "Készlet felszabadítása"
@@ -1577,7 +1590,7 @@ msgstr "Szükséges alkatrészek rendelése"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Alkatrész rendelés"
@@ -1630,12 +1643,12 @@ msgid "Delete outputs"
msgstr "Kimenetek törlése"
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "Nyomtatási műveletek"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Címke nyomtatása"
@@ -1644,13 +1657,15 @@ msgid "Completed Build Outputs"
msgstr "Befejezett gyártási kimenetek"
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Mellékletek"
@@ -1667,7 +1682,7 @@ msgstr "Lefoglalás kész"
msgid "All untracked stock items have been allocated"
msgstr "A szükséges készlet már mind le lett foglalva"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Új gyártási utasítás"
@@ -1724,1272 +1739,1307 @@ msgstr "{name.title()} Fájl"
msgid "Select {name} file to upload"
msgstr "{name} fájl kiválasztása feltöltéshez"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr "Frissítve"
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr "Legutóbbi frissítés időpontja"
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny)"
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr "Beállítás értéke"
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr "A kiválasztott érték nem egy érvényes lehetőség"
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr "Az érték bináris kell legyen"
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr "Az érték egész szám kell legyen"
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr "Kulcs string egyedi kell legyen"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr "Nincs csoport"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr "Üres domain nem engedélyezett."
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr "Érvénytelen domain név: {domain}"
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Újraindítás szükséges"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli"
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr "Kiszolgáló példány neve"
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr "String leíró a kiszolgáló példányhoz"
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr "Példány név használata"
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr "Példány név használata a címsorban"
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr "Verzió infók megjelenítésének tiltása"
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr "Verzió infók megjelenítése csak admin felhasználóknak"
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Cég neve"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Belső cégnév"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "Kiindulási URL"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "Kiindulási URL a kiszolgáló példányhoz"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Alapértelmezett pénznem"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr "Válassz alap pénznemet az ár számításokhoz"
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Letöltés URL-ről"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr "Letöltési méret korlát"
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr "Maximum megengedett letöltési mérete a távoli képeknek"
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr "Felhasznált User-agent az URL-ről letöltéshez"
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "A külső URL-ről letöltéshez használt user-agent felülbírálásának engedélyezése (hagyd üresen az alapértelmezéshez)"
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr "Megerősítés igénylése"
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr "Kérjen felhasználói megerősítést bizonyos műveletekhez"
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr "Fa mélység"
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr "Alapértelmezett mélység a fa nézetekben. A mélyebb szintek betöltődnek ha szükségesek."
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr "Automatikus biztonsági mentés"
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr "Adatbázis és média fájlok automatikus biztonsági mentése"
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr "Biztonsági mentések közti napok"
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr "Hány naponta készüljön automatikus biztonsági mentés"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr "Régi feladatok törlése"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr "Háttérfolyamat eredmények törlése megadott nap eltelte után"
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr "Hibanapló törlése"
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr "Hibanapló bejegyzések törlése megadott nap eltelte után"
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr "Értesítések törlése"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr "Felhasználói értesítések törlése megadott nap eltelte után"
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Vonalkód támogatás"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Vonalkód olvasó engedélyezése"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr "Vonalkód beadási késleltetés"
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje"
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr "Webkamerás vonalkód olvasás"
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr "Webkamerás kódolvasás engedélyezése a böngészőből"
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr "IPN reguláris kifejezés"
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re"
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Többször is előforduló IPN engedélyezése"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr "Azonos IPN használható legyen több alkatrész esetén is"
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "IPN szerkesztésének engedélyezése"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr "Alkatrészjegyzék adatok másolása"
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból"
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr "Alkatrész paraméterek másolása"
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból"
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr "Alkatrész teszt adatok másolása"
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból"
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr "Kategória paraméter sablonok másolása"
-#: common/models.py:1093
+#: common/models.py:1100
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:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Sablon"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "Alkatrészek alapból sablon alkatrészek legyenek"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Gyártmány"
-#: common/models.py:1107
+#: common/models.py:1114
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:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Összetevő"
-#: common/models.py:1114
+#: common/models.py:1121
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:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "Beszerezhető"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "Alkatrészek alapból beszerezhetők legyenek"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Értékesíthető"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "Alkatrészek alapból eladhatók legyenek"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Követésre kötelezett"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "Alkatrészek alapból követésre kötelezettek legyenek"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Virtuális"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Alkatrészek alapból virtuálisak legyenek"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr "Importálás megjelenítése a nézetekben"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr "Import segéd megjelenítése néhány alkatrész nézetben"
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "Kapcsolódó alkatrészek megjelenítése"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése"
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr "Kezdeti készlet adatok"
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor"
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr "Kezdeti beszállítói adatok"
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Kezdeti beszállítói adatok létrehozása új alkatrész felvételekor"
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr "Alkatrész név megjelenítés formátuma"
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr "Formátum az alkatrész név megjelenítéséhez"
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr "Alkatrész kategória alapértelmezett ikon"
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)"
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr "Áraknál használt tizedesjegyek száma"
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr "Tizedejegyek száma az árak megjelenítésekor"
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr "Beszállítói árazás használata"
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban"
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr "Beszerzési előzmények felülbírálása"
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat"
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr "Készlet tétel ár használata"
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz"
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr "Készlet tétel ár kora"
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból"
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr "Alkatrészváltozat árak használata"
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban"
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr "Csak az aktív változatokat"
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Csak az aktív alkatrészváltozatok használata az árazásban"
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr "Ár újraszámítás ideje"
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr "Árak automatikus frissítése ennyi nap után"
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr "nap"
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr "Belső árak"
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr "Alkatrészekhez belső ár engedélyezése"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr "Belső ár felülbírálása"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr "Címke nyomtatás engedélyezése"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr "Címke nyomtatás engedélyezése a web felületről"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr "Címke kép DPI"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak"
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr "Riportok engedélyezése"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr "Riportok előállításának engedélyezése"
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Debug mód"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr "Riportok előállítása HTML formátumban (hibakereséshez)"
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "Lapméret"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "Alapértelmezett lapméret a PDF riportokhoz"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr "Teszt riportok engedélyezése"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr "Teszt riportok előállításának engedélyezése"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr "Teszt riportok hozzáadása"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez"
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr "Globálisan egyedi sorozatszámok"
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan"
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr "Sorozatszámok automatikus kitöltése"
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr "Sorozatszámok automatikus kitöltése a formokon"
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr "Kimerült készlet törlése"
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy"
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr "Batch kód sablon"
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához"
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr "Készlet lejárata"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr "Készlet lejárat kezelésének engedélyezése"
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr "Lejárt készlet értékesítése"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr "Lejárt készlet értékesítésének engedélyezése"
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr "Álló készlet ideje"
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük"
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr "Lejárt készlet gyártása"
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr "Gyártás engedélyezése lejárt készletből"
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr "Készlet tulajdonosok kezelése"
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre"
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr "Hely alapértelmezett ikon"
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr "Hely alapértelmezett ikon (üres ha nincs)"
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr "Gyártási utasítás azonosító minta"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr "Vevői rendelés azonosító minta"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr "Vevői rendeléshez alapértelmezett szállítmány"
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr "Befejezett vevői rendelés szerkesztése"
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után"
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr "Beszerzési rendelés azonosító minta"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr "Befejezett beszerzési rendelés szerkesztése"
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után"
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr "Elfelejtett jelszó engedélyezése"
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr "Regisztráció engedélyezése"
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr "SSO engedélyezése"
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr "SSO engedélyezése a bejelentkező oldalon"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr "SSO regisztráció engedélyezése"
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon"
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "Email szükséges"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr "Kötelező email megadás regisztrációkor"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr "SSO felhasználók automatikus kitöltése"
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból"
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr "Email kétszer"
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr "Jelszó kétszer"
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr "Engedélyezett domainek"
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr "Ezekről a domain-ekről a regisztráció tiltása (vesszővel elválasztva, @-el kezdve)"
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr "Csoport regisztráláskor"
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve"
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr "Többfaktoros hitelesítés kényszerítése"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk."
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr "Pluginok ellenőrzése indításkor"
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)"
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr "Plugin aláírások ellenőrzése"
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése"
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr "URL integráció engedélyezése"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr "Navigációs integráció engedélyezése"
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr "Navigációs integráció engedélyezése a pluginok számára"
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr "App integráció engedélyezése"
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr "App hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr "Ütemezés integráció engedélyezése"
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr "Esemény integráció engedélyezése"
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára"
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr "Leltár funkció"
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr "Leltár funkció engedélyezése a készlet mennyiség és érték számításhoz"
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr "Automatikus leltár időpontja"
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr "Hány naponta történjen automatikus leltár (nulla egyenlő tiltva)"
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr "Régi jelentések törlése"
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr "Régi leltár riportok törlése hány naponta történjen"
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny"
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr "Értesítésre beállított alkatrészek megjelenítése"
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr "Alkatrész értesítések megjelenítése a főoldalon"
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr "Értesítésre beállított kategóriák megjelenítése"
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon"
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Legújabb alkatrészek megjelenítése"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Legújabb alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr "Legfrissebb alkatrész szám"
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr "Főoldalon megjelenítendő legújabb alkatrészek"
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése"
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon"
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr "Legfrissebb készlet változások megjelenítése"
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr "Legfrissebb készlet mennyiség"
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma"
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr "Alacsony készlet megjelenítése"
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr "Alacsony készletek megjelenítése a főoldalon"
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr "Kimerült készlet megjelenítése"
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr "Kimerült készletek megjelenítése a főoldalon"
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr "Gyártáshoz szükséges készlet megjelenítése"
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon"
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr "Lejárt készlet megjelenítése"
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr "Lejárt készletek megjelenítése a főoldalon"
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr "Állott készlet megjelenítése"
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr "Álló készletek megjelenítése a főoldalon"
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr "Függő gyártások megjelenítése"
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr "Késésben lévő gyártások megjelenítése"
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr "Késésben lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr "Kintlévő beszerzési rendelések megjelenítése"
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon"
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr "Késésben lévő megrendelések megjelenítése"
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr "Késésben lévő megrendelések megjelenítése a főoldalon"
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr "Függő vevői rendelések megjelenítése"
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr "Függő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr "Késésben lévő vevői rendelések megjelenítése"
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr "Hírek megjelenítése"
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr "Hírek megjelenítése a főoldalon"
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr "Beágyazott címke megjelenítés"
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett"
-#: common/models.py:1747
+#: common/models.py:1795
+msgid "Default label printer"
+msgstr ""
+
+#: common/models.py:1796
+msgid "Configure which label printer should be selected by default"
+msgstr ""
+
+#: common/models.py:1802
msgid "Inline report display"
msgstr "Beágyazott riport megjelenítés"
-#: common/models.py:1748
+#: common/models.py:1803
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF riport megjelenítése a böngészőben letöltés helyett"
-#: common/models.py:1754
+#: common/models.py:1809
msgid "Search Parts"
msgstr "Alkatrészek keresése"
-#: common/models.py:1755
+#: common/models.py:1810
msgid "Display parts in search preview window"
msgstr "Alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1761
+#: common/models.py:1816
msgid "Seach Supplier Parts"
msgstr "Beszállítói alkatrészek keresése"
-#: common/models.py:1762
+#: common/models.py:1817
msgid "Display supplier parts in search preview window"
msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1768
+#: common/models.py:1823
msgid "Search Manufacturer Parts"
msgstr "Gyártói alkatrészek keresése"
-#: common/models.py:1769
+#: common/models.py:1824
msgid "Display manufacturer parts in search preview window"
msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1775
+#: common/models.py:1830
msgid "Hide Inactive Parts"
msgstr "Inaktív alkatrészek elrejtése"
-#: common/models.py:1776
+#: common/models.py:1831
msgid "Excluded inactive parts from search preview window"
msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból"
-#: common/models.py:1782
+#: common/models.py:1837
msgid "Search Categories"
msgstr "Kategóriák keresése"
-#: common/models.py:1783
+#: common/models.py:1838
msgid "Display part categories in search preview window"
msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben"
-#: common/models.py:1789
+#: common/models.py:1844
msgid "Search Stock"
msgstr "Készlet keresése"
-#: common/models.py:1790
+#: common/models.py:1845
msgid "Display stock items in search preview window"
msgstr "Készlet tételek megjelenítése a keresési előnézetben"
-#: common/models.py:1796
+#: common/models.py:1851
msgid "Hide Unavailable Stock Items"
msgstr "Nem elérhető készlet tételek elrejtése"
-#: common/models.py:1797
+#: common/models.py:1852
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból"
-#: common/models.py:1803
+#: common/models.py:1858
msgid "Search Locations"
msgstr "Helyek keresése"
-#: common/models.py:1804
+#: common/models.py:1859
msgid "Display stock locations in search preview window"
msgstr "Készlet helyek megjelenítése a keresési előnézetben"
-#: common/models.py:1810
+#: common/models.py:1865
msgid "Search Companies"
msgstr "Cégek keresése"
-#: common/models.py:1811
+#: common/models.py:1866
msgid "Display companies in search preview window"
msgstr "Cégek megjelenítése a keresési előnézetben"
-#: common/models.py:1817
+#: common/models.py:1872
msgid "Search Build Orders"
msgstr "Gyártási utasítások keresése"
-#: common/models.py:1818
+#: common/models.py:1873
msgid "Display build orders in search preview window"
msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban"
-#: common/models.py:1824
+#: common/models.py:1879
msgid "Search Purchase Orders"
msgstr "Beszerzési rendelések keresése"
-#: common/models.py:1825
+#: common/models.py:1880
msgid "Display purchase orders in search preview window"
msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben"
-#: common/models.py:1831
+#: common/models.py:1886
msgid "Exclude Inactive Purchase Orders"
msgstr "Inaktív beszerzési rendelések kihagyása"
-#: common/models.py:1832
+#: common/models.py:1887
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból"
-#: common/models.py:1838
+#: common/models.py:1893
msgid "Search Sales Orders"
msgstr "Vevői rendelések keresése"
-#: common/models.py:1839
+#: common/models.py:1894
msgid "Display sales orders in search preview window"
msgstr "Vevői rendelések megjelenítése a keresési előnézetben"
-#: common/models.py:1845
+#: common/models.py:1900
msgid "Exclude Inactive Sales Orders"
msgstr "Inaktív vevői rendelések kihagyása"
-#: common/models.py:1846
+#: common/models.py:1901
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból"
-#: common/models.py:1852
+#: common/models.py:1907
msgid "Search Preview Results"
msgstr "Keresési előnézet eredményei"
-#: common/models.py:1853
+#: common/models.py:1908
msgid "Number of results to show in each section of the search preview window"
msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként"
-#: common/models.py:1859
+#: common/models.py:1914
msgid "Show Quantity in Forms"
msgstr "Mennyiség megjelenítése a formokon"
-#: common/models.py:1860
+#: common/models.py:1915
msgid "Display available part quantity in some forms"
msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon"
-#: common/models.py:1866
+#: common/models.py:1921
msgid "Escape Key Closes Forms"
msgstr "ESC billentyű zárja be a formot"
-#: common/models.py:1867
+#: common/models.py:1922
msgid "Use the escape key to close modal forms"
msgstr "ESC billentyű használata a modális formok bezárásához"
-#: common/models.py:1873
+#: common/models.py:1928
msgid "Fixed Navbar"
msgstr "Rögzített menüsor"
-#: common/models.py:1874
+#: common/models.py:1929
msgid "The navbar position is fixed to the top of the screen"
msgstr "A menü pozíciója mindig rögzítve a lap tetején"
-#: common/models.py:1880
+#: common/models.py:1935
msgid "Date Format"
msgstr "Dátum formátum"
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr "Preferált dátum formátum a dátumok kijelzésekor"
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Alkatrész ütemezés"
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr "Alkatrész ütemezési információk megjelenítése"
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Alkatrész leltár"
-#: common/models.py:1903
-msgid "Display part stocktake information"
-msgstr "Alkatrész leltározási információk megjelenítése"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
+msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)"
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr "Táblázati szöveg hossz"
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban"
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr "Ársáv mennyiség"
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Ár"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr "Egységár egy meghatározott mennyiség esetén"
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr "Végpont"
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr "Végpont ahol ez a webhook érkezik"
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr "Aktív"
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr "Aktív-e ez a webhook"
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr "Token"
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr "Token a hozzáféréshez"
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr "Titok"
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr "Megosztott titok a HMAC-hoz"
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr "Üzenet azonosító"
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr "Egyedi azonosító ehhez az üzenethez"
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr "Kiszolgáló"
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr "Kiszolgáló ahonnan ez az üzenet érkezett"
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr "Fejléc"
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr "Üzenet fejléce"
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr "Törzs"
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr "Üzenet törzse"
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr "Végpont amin ez az üzenet érkezett"
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr "Dolgozott rajta"
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr "Befejeződött a munka ezzel az üzenettel?"
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr "Id"
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr "Cím"
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr "Közzétéve"
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Szerző"
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr "Összefoglaló"
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr "Elolvasva"
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr "Elolvasva?"
@@ -3016,7 +3066,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Fájl feltöltése"
@@ -3024,7 +3074,7 @@ msgstr "Fájl feltöltése"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Mezők egyeztetése"
@@ -3062,7 +3112,7 @@ 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
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Weboldal"
@@ -3107,7 +3157,7 @@ msgstr "Kapcsolattartó"
msgid "Link to external company information"
msgstr "Link a külső céginformációhoz"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Kép"
@@ -3139,229 +3189,219 @@ msgstr "gyártó-e"
msgid "Does this company manufacture parts?"
msgstr "Gyárt ez a cég alkatrészeket?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Pénznem"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Cég által használt alapértelmezett pénznem"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr "Kiindulási alkatrész"
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "Válassz alkatrészt"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Gyártó"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Gyártó kiválasztása"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr "MPN"
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "Gyártói cikkszám"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr "URL link a gyártói alkatrészhez"
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr "Gyártói alkatrész leírása"
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Gyártói alkatrész"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "Paraméter neve"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Érték"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "Paraméter értéke"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "Mértékegységek"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "Paraméter mértékegység"
-
-#: company/models.py:456
-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:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Beszállító"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Beszállító kiválasztása"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr "SKU"
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr "Beszállítói cikkszám"
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr "Gyártói alkatrész kiválasztása"
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr "URL link a beszállítói alkatrészhez"
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr "Beszállítói alkatrész leírása"
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Megjegyzés"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr "alap költség"
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr "Minimális díj (pl. tárolási díj)"
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "Csomagolás"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr "Alkatrész csomagolás"
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr "Csomagolási mennyiség"
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr "Egy csomagban lévő mennyiség"
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr "többszörös"
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr "Többszörös rendelés"
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr "Elérhető"
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr "Beszállítónál elérhető mennyiség"
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr "Elérhetőség frissítve"
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr "Utolsó elérhetőségi adat frissítés"
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr "Beszállító által használt alapértelmezett pénznem"
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Pénznem kódja"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "Cég"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr "Kiindulási alkatrész"
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "Válassz alkatrészt"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Gyártó"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Gyártó kiválasztása"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr "MPN"
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "Gyártói cikkszám"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr "URL link a gyártói alkatrészhez"
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr "Gyártói alkatrész leírása"
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Gyártói alkatrész"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "Paraméter neve"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Érték"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "Paraméter értéke"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "Mértékegységek"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "Paraméter mértékegység"
+
+#: company/models.py:475
+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:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Beszállító"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Beszállító kiválasztása"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr "SKU"
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr "Beszállítói cikkszám"
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr "Gyártói alkatrész kiválasztása"
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr "URL link a beszállítói alkatrészhez"
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr "Beszállítói alkatrész leírása"
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Megjegyzés"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr "alap költség"
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr "Minimális díj (pl. tárolási díj)"
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "Csomagolás"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr "Alkatrész csomagolás"
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr "Csomagolási mennyiség"
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr "Egy csomagban lévő mennyiség"
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr "többszörös"
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr "Többszörös rendelés"
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr "Elérhető"
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr "Beszállítónál elérhető mennyiség"
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr "Elérhetőség frissítve"
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr "Utolsó elérhetőségi adat frissítés"
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr "Beszállító által használt alapértelmezett pénznem"
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Beszerzési rendelés létrehozása"
@@ -3374,7 +3414,7 @@ msgid "Edit company information"
msgstr "Cég adatainak szerkesztése"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "Cég szerkesztése"
@@ -3402,14 +3442,14 @@ msgstr "Kép letöltése URL-ről"
msgid "Delete image"
msgstr "Kép törlése"
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Vevő"
@@ -3422,7 +3462,7 @@ msgid "Phone"
msgstr "Telefonszám"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr "Kép eltávolítása"
@@ -3431,19 +3471,19 @@ 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:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Kép feltöltése"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "Kép letöltése"
@@ -3459,13 +3499,13 @@ msgstr "Új beszállítói alkatrész létrehozása"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Új beszállítói alkatrész"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Alkatrész rendelés"
@@ -3488,7 +3528,7 @@ msgstr "Gyártói alkatrészek"
msgid "Create new manufacturer part"
msgstr "Új gyártói alkatrész létrehozása"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Új gyártói alkatrész"
@@ -3502,11 +3542,11 @@ msgstr "Beszállítói készlet"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Beszerzési rendelések"
@@ -3525,11 +3565,11 @@ msgstr "Új beszerzési rendelés"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Vevői rendelések"
@@ -3544,7 +3584,7 @@ msgid "New Sales Order"
msgstr "Új vevői rendelés"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr "Hozzárendelt készlet"
@@ -3559,17 +3599,17 @@ msgstr "Gyártók"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Alkatrész rendelés"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "Gyártói alkatrész szerkesztése"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "Gyártói alkatrész törlése"
@@ -3584,34 +3624,34 @@ msgstr "Nincs elérhető gyártói információ"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Beszállítók"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
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:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "Törlés"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Paraméterek"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3622,7 +3662,7 @@ msgid "Delete parameters"
msgstr "Paraméterek törlése"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr "Paraméter hozzáadása"
@@ -3643,30 +3683,30 @@ msgid "Assigned Stock Items"
msgstr "Hozzárendelt készlet tételek"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr "Vonalkód műveletek"
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR kód megjelenítése"
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3675,7 +3715,7 @@ msgstr "Vonalkód leválasztása"
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr "Vonalkód hozzárendelése"
@@ -3686,7 +3726,7 @@ msgstr "Beszállítói alkatrész műveletek"
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "Alkatrész rendelése"
@@ -3697,13 +3737,13 @@ msgstr "Elérhetőség frissítése"
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr "Beszállítói alkatrész szerkesztése"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr "Beszállítói alkatrész másolása"
@@ -3718,7 +3758,7 @@ msgstr "Beszállítói alkatrész törlése"
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr "Vonalkód azonosító"
@@ -3727,23 +3767,21 @@ msgid "No supplier information available"
msgstr "Nincs elérhető beszállítói információ"
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Beszállítói készlet"
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr "Új készlet tétel létrehozása"
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr "Új készlet tétel"
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Beszállítói alkatrész rendelések"
@@ -3752,58 +3790,40 @@ msgid "Pricing Information"
msgstr "Árinformációk"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr "Ársáv hozzáadása"
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr "Beszállítói alkatrész QR kód"
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez"
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr "Alkatrész elérhetőség frissítése"
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Készlet"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Készlet tételek"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Rendelések"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr "Beszállító alkatrész árazás"
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "Árazás"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Készlet tételek"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "Új beszállító"
@@ -3829,10 +3849,6 @@ msgstr "Cégek"
msgid "New Company"
msgstr "Új cég"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr "Készlet tétel QR kódja"
-
#: label/models.py:102
msgid "Label name"
msgstr "Címke neve"
@@ -3849,7 +3865,7 @@ msgstr "Címke"
msgid "Label template file"
msgstr "Címke sablon fájl"
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr "Engedélyezve"
@@ -3873,7 +3889,7 @@ msgstr "Magasság [mm]"
msgid "Label height, specified in mm"
msgstr "Címke magassága, mm-ben"
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr "Fájlnév minta"
@@ -3886,7 +3902,7 @@ 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:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Szűrők"
@@ -3898,447 +3914,443 @@ msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok"
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)"
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr "Nincs egyező beszerzési rendelés"
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr "Ismeretlen"
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr "Rendelés leírása"
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr "Link külső weboldalra"
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr "Készítette"
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek"
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr "Rendelés jegyzetek"
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr "Rendelés azonosító"
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr "Beszerzési rendelés állapota"
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "Cég akitől a tételek beszerzésre kerülnek"
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr "Beszállítói azonosító"
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr "Beszállítói rendelés azonosító kód"
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr "érkeztette"
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr "Kiállítás dátuma"
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr "Kiállítás dátuma"
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Várható beérkezés"
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd."
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr "Rendelés teljesítési dátuma"
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával"
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr "Mennyiség pozitív kell legyen"
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr "Cég akinek a tételek értékesítésre kerülnek"
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr "Vevői azonosító "
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr "Megrendelés azonosító kódja a vevőnél"
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek."
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr "Kiszállítás dátuma"
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr "szállította"
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész"
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr "Csak függő rendelés jelölhető késznek"
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak"
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak"
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr "Tétel mennyiség"
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr "Sortétel azonosító"
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr "Sortétel megjegyzései"
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)"
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr "Kontextus"
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr "További kontextus ehhez a sorhoz"
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr "Egységár"
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval"
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr "törölve"
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr "Rendelés"
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr "Beszállítói alkatrész"
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr "Beérkezett"
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr "Érkezett tételek száma"
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Beszerzési ár"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr "Beszerzési egységár"
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?"
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni"
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni"
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr "Eladási ár"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr "Eladási egységár"
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr "Szállított mennyiség"
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr "Szállítás dátuma"
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr "Ellenőrizte"
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt"
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr "Szállítmány"
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr "Szállítmány száma"
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr "Szállítmány megjegyzései"
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr "Nyomkövetési szám"
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr "Szállítmány nyomkövetési információ"
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr "Számlaszám"
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr "Hozzátartozó számla referencia száma"
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr "Szállítmány már elküldve"
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket"
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr "Készlet tétel nincs hozzárendelve"
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez"
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész"
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét"
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr "Vevői rendelés nem egyezik a szállítmánnyal"
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr "Szállítmány nem egyezik a vevői rendeléssel"
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr "Sor"
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr "Vevői rendelés szállítmány azonosító"
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr "Tétel"
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr "Válaszd ki a foglalásra szánt készlet tételt"
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr "Pénznem"
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr "A rendelést nem lehet törölni"
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr "Rendelés lezárása teljesítetlen sortételek esetén is"
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr "A rendelésben teljesítetlen sortételek vannak"
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr "A rendelés nem nyitott"
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr "Beszérzési ár pénzneme"
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr "Beszállítói alkatrészt meg kell adni"
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr "Beszerzési rendelést meg kell adni"
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel"
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval"
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr "Sortétel"
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr "Sortétel nem egyezik a beszerzési megrendeléssel"
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr "Válassz cél helyet a beérkezett tételeknek"
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr "Írd be a batch kódját a beérkezett tételeknek"
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr "Írd be a sorozatszámokat a beérkezett tételekhez"
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr "Egyedi azonosító mező"
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr "Ez a vonalkód már használva van"
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél"
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr "Sortételt meg kell adni"
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr "A cél helyet kötelező megadni"
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr "Megadott vonalkódoknak egyedieknek kel lenniük"
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr "Eladási ár pénzneme"
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr "Nincsenek szállítmány részletek megadva"
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez"
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr "Mennyiség pozitív kell legyen"
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr "Írd be a sorozatszámokat a kiosztáshoz"
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr "Szállítmány kiszállítva"
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez"
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr "Nincs találat a következő sorozatszámokra"
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr "A következő sorozatszámok már ki lettek osztva"
@@ -4506,10 +4518,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Sor törlése"
@@ -4567,7 +4579,7 @@ msgstr "Beszerzési rendelés tételei"
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr "Sortétel hozzáadása"
@@ -4613,12 +4625,12 @@ msgid "Print packing list"
msgstr "Csomagolási lista nyomtatása"
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr "Függő szállítmányok kiszállítása"
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr "Vevői rendelés befejezése, minden kiszállítva"
@@ -4627,7 +4639,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva"
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr "Vevői azonosító"
@@ -4637,10 +4649,6 @@ msgstr "Vevői azonosító"
msgid "Completed Shipments"
msgstr "Kész szállítmányok"
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr "Vevői rendelés szerkesztése"
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Vevői rendelés tételek"
@@ -4651,8 +4659,8 @@ msgid "Pending Shipments"
msgstr "Függő szállítmányok"
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr "Műveletek"
@@ -4682,174 +4690,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr "Alkatrész ID"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr "Alkatrész neve"
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr "Alkatrész leírása"
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr "IPN"
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr "Változat"
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Kulcsszavak"
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr "Kategória ID"
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr "Kategória neve"
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr "Alapértelmezett készlethely ID"
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr "Alapértelmezett beszállító ID"
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr "Minimális készlet"
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr "Készleten"
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "Rendelve"
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Felhasználva ebben"
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr "Lefoglalva"
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr "Gyártásban"
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr "Minimum költség"
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr "Maximum költség"
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr "Szülő ID"
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr "Szülő neve"
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr "Kategória elérési út"
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Alkatrészek"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr "Alkatrészjegyzék szint"
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr "Alkatrészjegyzék tétel ID"
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr "Szülő IPN"
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr "Alkatrész IPN"
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr "Minimum ár"
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr "Maximum ár"
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr "Beérkező beszerzési rendelés"
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr "Kimenő vevői rendelés"
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr "Gyártással előállított készlet"
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr "A gyártási utasításhoz szükséges készlet"
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr "Érvényes"
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr "Teljes alkatrészjegyzék jóváhagyása"
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr "Ennek az opciónak ki kll lennie választva"
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr "Alapértelmezett hely"
@@ -4858,810 +4867,918 @@ msgid "Total Stock"
msgstr "Teljes készlet"
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr "Elérhető készlet"
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr "Add meg a mennyiséget az árszámításhoz"
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "Ebben a kategóriában lévő alkatrészek helye alapban"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr "Szerkezeti"
-
-#: part/models.py:124
-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:128
-msgid "Default keywords"
-msgstr "Alapértelmezett kulcsszavak"
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr "Ikon"
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr "Ikon (opcionális)"
-
-#: part/models.py:153
-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:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 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:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "Alkatrész kategóriák"
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "Ebben a kategóriában lévő alkatrészek helye alapban"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr "Szerkezeti"
+
+#: part/models.py:129
+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:133
+msgid "Default keywords"
+msgstr "Alapértelmezett kulcsszavak"
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr "Ikon"
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr "Ikon (opcionális)"
+
+#: part/models.py:158
+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:466
msgid "Invalid choice for parent part"
msgstr "Hibás választás a szülő alkatrészre"
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, 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:641
+#: part/models.py:610
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:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban"
-#: part/models.py:777
+#: part/models.py:746
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:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!"
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr "Alkatrész neve"
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr "Sablon-e"
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Ez egy sablon alkatrész?"
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Ez az alkatrész egy másik változata?"
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr "Ebből a sablonból"
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "Alkatrész leírása"
-#: part/models.py:840
+#: part/models.py:809
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:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr "Kategória"
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr "Alkatrész kategória"
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "Belső cikkszám"
-#: part/models.py:860
+#: part/models.py:829
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:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr "Alapban hol tároljuk ezt az alkatrészt?"
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr "Alapértelmezett beszállító"
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr "Alapértelmezett beszállítói alkatrész"
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr "Alapértelmezett lejárat"
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire"
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr "Minimálisan megengedett készlet mennyiség"
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr "Alkatrész mértékegysége"
-#: part/models.py:959
+#: part/models.py:928
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:965
+#: part/models.py:934
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:971
+#: part/models.py:940
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:976
+#: part/models.py:945
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:981
+#: part/models.py:950
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:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Aktív-e ez az alkatrész?"
-#: part/models.py:991
+#: part/models.py:960
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:993
+#: part/models.py:962
msgid "Part notes"
msgstr "Alkatrész megjegyzések"
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr "Alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr "Tárolt alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr "Alkatrészjegyzéket ellenőrizte"
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr "Alkatrészjegyzék ellenőrzési dátuma"
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr "Létrehozó"
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr "Felhasználó aki felelős ezért az alkatrészért"
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr "Utolsó leltár"
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr "Árszámítások gyorstárazásához használt pénznem"
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr "Minimum alkatrészjegyzék költség"
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr "Összetevők minimum költsége"
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr "Maximum alkatrészjegyzék költség"
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr "Összetevők maximum költsége"
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr "Minimum beszerzési ár"
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr "Eddigi minimum beszerzési költség"
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr "Maximum beszerzési ár"
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr "Eddigi maximum beszerzési költség"
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr "Minimum belső ár"
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr "Minimum költség a belső ársávok alapján"
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr "Maximum belső ár"
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr "Maximum költség a belső ársávok alapján"
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr "Minimum beszállítói ár"
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr "Minimum alkatrész ár a beszállítóktól"
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr "Maximum beszállítói ár"
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr "Maximum alkatrész ár a beszállítóktól"
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr "Minimum alkatrészváltozat ár"
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr "Alkatrészváltozatok számolt minimum költsége"
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr "Maximum alkatrészváltozat ár"
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr "Alkatrészváltozatok számolt maximum költsége"
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr "Számított általános minimum költség"
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr "Számított általános maximum költség"
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr "Minimum eladási ár"
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr "Minimum eladási ár az ársávok alapján"
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr "Maximum eladási ár"
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr "Maximum eladási ár az ársávok alapján"
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr "Minimum eladási költség"
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr "Eddigi minimum eladási ár"
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr "Maximum eladási költség"
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr "Eddigi maximum eladási ár"
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr "Leltározható alkatrész"
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr "Tételszám"
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr "Egyedi készlet tételek száma a leltárkor"
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr "Teljes készlet a leltárkor"
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr "Dátum"
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr "Leltározva ekkor"
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr "További megjegyzések"
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr "Leltározta"
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr "Minimum készlet érték"
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr "Becsült minimum raktárkészlet érték"
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr "Maximum készlet érték"
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr "Becsült maximum raktárkészlet érték"
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr "Riport"
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr "Leltár riport fájl (generált)"
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr "Alkatrész szám"
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr "Leltározott alkatrészek száma"
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr "Felhasználó aki a leltár riportot kérte"
+
+#: part/models.py:3130
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:3096
+#: part/models.py:3147
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:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:3135
+#: part/models.py:3186
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:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:3141
+#: part/models.py:3192
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:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr "Paraméter mértékegysége"
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr "Paraméter leírása"
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr "Szülő alkatrész"
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr "Adat"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr "Alkatrész ID vagy alkatrész név"
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr "Egyedi alkatrész ID értéke"
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr "Alkatrész IPN érték"
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr "Szint"
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr "Alkatrészjegyzék szint"
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "Opcionális"
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr "Fogyóeszköz"
-#: part/models.py:3436
+#: part/models.py:3498
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:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Többlet"
-#: part/models.py:3441
+#: part/models.py:3503
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:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Örökölt"
-#: part/models.py:3454
+#: part/models.py:3516
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:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr "Változatok"
-#: part/models.py:3460
+#: part/models.py:3522
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:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
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:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:3705
+#: part/models.py:3756
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:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr "Alkatrész kapcsolat nem hozható létre önmagával"
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr "Már létezik duplikált alkatrész kapcsolat"
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr "Beszerzési pénzneme ennek a készlet tételnek"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr "Eredeti alkatrész"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr "Válassz eredeti alkatrészt a másoláshoz"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr "Kép másolása"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr "Kép másolása az eredeti alkatrészről"
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Alkatrészjegyzék másolása"
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr "Paraméterek másolása"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr "Paraméterek másolása az eredeti alkatrészről"
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr "Kezdeti készlet mennyiség"
-#: part/serializers.py:343
+#: part/serializers.py:326
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:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr "Kezdeti készlet hely"
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr "Add meg a kezdeti készlet helyét"
-#: part/serializers.py:359
+#: part/serializers.py:342
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:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)"
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr "Gyártói cikkszám"
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr "A kiválasztott cég nem érvényes beszállító"
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr "A kiválasztott cég nem érvényes gyártó"
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr "Van már ilyen gyártói alkatrész"
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr "Van már ilyen beszállítói alkatrész"
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr "Alkatrész másolása"
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr "Kezdeti adatok másolása egy másik alkatrészről"
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr "Kezdeti készlet"
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr "Kezdeti készlet mennyiség létrehozása"
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr "Beszállító információ"
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr "Kezdeti beszállító adatok hozzáadása"
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr "Kategória paraméterek másolása"
+
+#: part/serializers.py:624
+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:829
+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:835
+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:841
+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:846
+msgid "Generate Report"
+msgstr "Riport létrehozása"
+
+#: part/serializers.py:847
+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:852
+msgid "Update Parts"
+msgstr "Alaktrészek frissítése"
+
+#: part/serializers.py:853
+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:861
+msgid "Stocktake functionality is not enabled"
+msgstr "Leltár funkció nincs engedélyezve"
+
+#: part/serializers.py:950
msgid "Update"
msgstr "Frissítés"
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr "Alkatrész árak frissítése"
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk"
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr "Létező adat törlése"
-#: part/serializers.py:1122
+#: part/serializers.py:1244
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:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr "Örököltekkel együtt"
-#: part/serializers.py:1128
+#: part/serializers.py:1250
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:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr "Hibás sorok kihagyása"
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr "Engedély a hibás sorok kihagyására"
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr "Helyettesítő alkatrészek másolása"
-#: part/serializers.py:1140
+#: part/serializers.py:1262
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:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr "Meglévő alkatrészjegyzék törlése"
-#: part/serializers.py:1181
+#: part/serializers.py:1303
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:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr "Nincs megadva alkatrész oszlop"
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr "Több egyező alkatrész is található"
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr "Nincs egyező alkatrész"
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr "Az alkatrész nem lett összetevőként jelölve"
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr "Mennyiség nincs megadva"
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr "Érvénytelen mennyiség"
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr "Legalább egy alkatrészjegyzék tétel szükséges"
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr "Alacsony készlet értesítés"
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
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/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr "Teljes mennyiség"
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr "Teljes költség min"
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr "Teljes költség max"
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr "Leltár riport rendelkezésre áll"
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr "Egy új leltár riport készen áll a letöltésre"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "Nincs jogosultságod az alkatrészjegyzék szerkesztéséhez."
@@ -5681,7 +5798,7 @@ msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzéket utoljár
msgid "The BOM for %(part)s has not been validated."
msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzék még nincs jóváhagyva."
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr "Alkatrészjegyzék műveletek"
@@ -5689,85 +5806,89 @@ msgstr "Alkatrészjegyzék műveletek"
msgid "Delete Items"
msgstr "Tételek törlése"
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr "Alkatrész kategória leltározása"
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr "Értesítések beállítva erre a kategóriára"
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr "Értesítések kérése erre a kategóriára"
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr "Kategória műveletek"
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr "Kategória szerkesztése"
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr "Kategória szerkesztése"
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr "Kategória törlése"
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr "Kategória törlése"
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr "Legfelső szintű alkatrész kategória"
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Alkategóriák"
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "Alkatrészek száma (alkategóriákkal együtt)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr "Alkatrész létrehozása"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr "Új alkatrész"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr "Opciók"
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr "Kategória beállítása"
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr "Kategória beállítása"
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr "Címkék nyomtatása"
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "Alkatrész paraméterek"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr "Alkatrész kategória létrehozása"
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "Új kategória"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr "Alkatrész kategória létrehozása"
@@ -5808,118 +5929,120 @@ msgstr "Ütemezési adatok frissítése"
msgid "Refresh"
msgstr "Frissítés"
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr "Leltár információ hozzáadása"
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr "Leltár"
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr "Alkatrész teszt sablonok"
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr "Teszt sablon hozzáadása"
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr "Vevői rendeléshez foglalások"
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr "Alkatrész megjegyzések"
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr "Alkatrész változatok"
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr "Új változat létrehozása"
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr "Új változat"
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr "Paraméter hozzáadása"
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr "Kapcsolódó alkatrészek"
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr "Kapcsolódó hozzáadása"
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr "Alkatrészjegyzék"
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr "Exportálási műveletek"
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Alkatrészjegyzék exportálása"
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr "Alkatrészjegyzék riport nyomtatása"
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr "Alkatrészjegyzék feltöltése"
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr "Alkatrészjegyzék jóváhagyása"
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr "Alkatrészjegyzék tétel hozzáadása"
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr "Gyártmányok"
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr "Alkatrész gyártások"
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr "Gyártáshoz foglalások"
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr "Alkatrész beszállítók"
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr "Alkatrész gyártók"
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr "Gyártói alkatrészek törlése"
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr "Kapcsolódó alkatrész"
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr "Kapcsolódó alkatrész hozzáadása"
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr "Teszt eredmény sablon hozzáadása"
@@ -5954,13 +6077,13 @@ msgstr "Alkatrész import sablon letöltése"
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr "Formátum"
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr "Fájlfomátum kiválasztása"
@@ -5982,7 +6105,7 @@ msgstr "Vonalkód leválasztása"
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "Címke nyomtatása"
@@ -5992,7 +6115,7 @@ msgstr "Árinformációk megjelenítése"
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr "Készlet műveletek"
@@ -6050,15 +6173,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "Virtuális (nem kézzelfogható alkatrész)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr "Inaktív"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr "Alkatrész részletei"
@@ -6068,16 +6191,16 @@ msgid "This part is a variant of %(link)s"
msgstr "Ez az alkatrész egy változata a %(link)s alkatrésznek"
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr "Gyártáshoz lefoglalva"
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr "Vevő rendeléshez lefoglalva"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr "Gyártható"
@@ -6085,44 +6208,48 @@ msgstr "Gyártható"
msgid "Minimum stock level"
msgstr "Minimális készlet"
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr "Ártartomány"
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr "Legutolsó sorozatszám"
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr "Sorozatszámra keresés"
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr "Alkatrész QR kódja"
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr "Vonalkód hozzárendelése az alkatrészhez"
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr "Számítás"
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr "Alkatrészhez rendelt kép eltávolítása"
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr "Nincs egyező kép"
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr "Részletek elrejtése"
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr "Beszállítói ár"
@@ -6137,6 +6264,7 @@ msgstr "Egység költség"
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr "Teljes költség"
@@ -6177,11 +6305,27 @@ msgstr "Ütemezett mennyiség"
msgid "Variants"
msgstr "Változatok"
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Készlet"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "Árazás"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr "Ütemezés"
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr "Teszt sablonok"
@@ -6197,11 +6341,11 @@ msgstr "Ár áttekintés"
msgid "Refresh Part Pricing"
msgstr "Árazás frissítése"
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr "Utoljára módosítva"
@@ -6264,8 +6408,8 @@ msgstr "Eladási ár"
msgid "Add Sell Price Break"
msgstr "Eladási ársáv hozzáadása"
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr "Nincs készlet"
@@ -6328,32 +6472,28 @@ msgstr "Ismeretlen adatbázis"
msgid "{title} v{version}"
msgstr "{title} v{version}"
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr "Azonosítók egyeztetése"
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr "A(z) {name} alkatrész nem importálható, nincs kategória hozzárendelve"
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr "Alkatrész QR kódja"
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr "Válassz képet az alkatrészhez"
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr "Alkatrész képe frissítve"
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr "Az alkatrész képe nem található"
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr "Alkatrész árak"
@@ -6504,16 +6644,16 @@ msgstr "Nincs szerző"
msgid "No date found"
msgstr "Nincs dátum"
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr "A {plg_name} plugin nem kompatibilis az aktuális applikáció verzióval {version.inventreeVersion()}!"
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr "A pluginhoz minimum {plg_i.MIN_VERSION} verzió kell"
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr "A pluginhoz maximum {plg_i.MAX_VERSION} verzió kell"
@@ -6550,27 +6690,27 @@ msgstr "Választás beállításai"
msgid "A setting with multiple choices"
msgstr "Egy beállítás több választási lehetőséggel"
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr "Forrás URL"
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr "Csomag forrása - ez lehet egy registry vagy VCS útvonal"
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr "Csomag neve"
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr "Plugin csomag neve - verzió megjelölést is tartalmazhat"
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr "Bővítmény telepítésének megerősítése"
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr "Ez telepíti ezt a plugint az aktuális példányra. A példány karbantartási módba megy."
@@ -6611,71 +6751,71 @@ msgstr "Riport sablon leírása"
msgid "Report revision number (auto-increments)"
msgstr "Riport verziószáma (automatikusan nő)"
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr "Minta a riport fájlnevek előállításához"
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr "Riport sablon engedélyezve"
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr "Készlet lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)"
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr "Beépített tesztekkel együtt"
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr "Gyártmányba beépített készlet tételek teszt eredményeivel együtt"
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr "Gyártás szűrők"
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr "Gyártás lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok"
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr "Alkatrész szűrők"
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok"
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr "Megrendelés lekérdezés szűrők"
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr "Vevő rendelés lekérdezés szűrők"
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr "Részlet"
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr "Riport részlet fájl"
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr "Részlet fájl leírása"
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr "Eszköz"
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr "Riport asset fájl"
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr "Asset fájl leírása"
@@ -6696,12 +6836,12 @@ msgid "Stock Item Test Report"
msgstr "Készlet tétel teszt riport"
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "Sorozatszám"
@@ -6710,12 +6850,12 @@ msgid "Test Results"
msgstr "Teszt eredmények"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr "Teszt"
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr "Eredmény"
@@ -6733,315 +6873,330 @@ msgid "Installed Items"
msgstr "Beépített tételek"
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr "Sorozatszám"
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr "Hely ID"
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr "Hely neve"
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr "Hely elérési út"
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr "Készlet tétel ID"
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr "Beszállítói cikkszám"
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr "Beszállító ID"
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr "Beszállító neve"
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr "Vevő ID"
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr "Beépítve ebbe"
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr "Gyártás ID"
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr "Vevői rendelés ID"
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr "Vevői rendelés azonosító"
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr "Lejárati dátum"
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr "Mennyiség megadása kötelező"
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr "Egy érvényes alkatrészt meg kell adni"
-#: stock/api.py:573
+#: stock/api.py:607
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:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr "Tulajdonos"
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr "Tulajdonos kiválasztása"
-
-#: stock/models.py:115
-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:158
-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:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!"
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr "Virtuális alkatrészből nem lehet készletet létrehozni"
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr "A alkatrész típus ('{pf}') {pe} kell legyen"
-
-#: stock/models.py:591 stock/models.py:600
-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:592
-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:614
-msgid "Item cannot belong to itself"
-msgstr "A tétel nem tartozhat saját magához"
-
-#: stock/models.py:620
-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:634
-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:648
-msgid "Parent Stock Item"
-msgstr "Szülő készlet tétel"
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr "Kiindulási alkatrész"
-
-#: stock/models.py:666
-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:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Készlet hely"
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "Készlethelyek"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr "Tulajdonos"
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr "Tulajdonos kiválasztása"
+
+#: stock/models.py:121
+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:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+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
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!"
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr "Virtuális alkatrészből nem lehet készletet létrehozni"
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr "A alkatrész típus ('{pf}') {pe} kell legyen"
+
+#: stock/models.py:603 stock/models.py:612
+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:604
+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:626
+msgid "Item cannot belong to itself"
+msgstr "A tétel nem tartozhat saját magához"
+
+#: stock/models.py:632
+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:646
+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:660
+msgid "Parent Stock Item"
+msgstr "Szülő készlet tétel"
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr "Kiindulási alkatrész"
+
+#: stock/models.py:678
+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:688
msgid "Where is this stock item located?"
msgstr "Hol található ez az alkatrész?"
-#: stock/models.py:683
+#: stock/models.py:695
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:692
+#: stock/models.py:704
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:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr "Sorozatszám ehhez a tételhez"
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr "Batch kód ehhez a készlet tételhez"
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr "Készlet mennyiség"
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr "Forrás gyártás"
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr "Gyártás ehhez a készlet tételhez"
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr "Forrás beszerzési rendelés"
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr "Beszerzés ehhez a készlet tételhez"
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr "Cél vevői rendelés"
-#: stock/models.py:763
+#: stock/models.py:775
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:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr "Törlés ha kimerül"
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr "Készlet tétel törlése ha kimerül"
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr "Készlet tétel megjegyzések"
-#: stock/models.py:799
+#: stock/models.py:811
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:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr "Alkatrésszé alakítva"
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr "Az alkatrész nem követésre kötelezett"
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr "Mennyiség egész szám kell legyen"
-#: stock/models.py:1329
+#: stock/models.py:1341
#, 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:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr "A sorozatszám egész számok listája kell legyen"
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával"
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Ezek a sorozatszámok már léteznek: {exists}"
-#: stock/models.py:1412
+#: stock/models.py:1424
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:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr "Készlet tétel beépül egy másikba"
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr "A készlet tétel más tételeket tartalmaz"
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr "Készlet tétel gyártás alatt"
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr "Követésre kötelezett készlet nem vonható össze"
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr "Duplikált készlet tételek vannak"
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon"
-#: stock/models.py:1442
+#: stock/models.py:1454
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:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr "Készlet tételek állapotainak egyeznie kell"
-#: stock/models.py:1615
+#: stock/models.py:1627
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:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr "Bejegyzés megjegyzései"
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr "Ehhez a teszthez meg kell adni értéket"
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr "Ehhez a teszthez fel kell tölteni mellékletet"
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr "Teszt neve"
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr "Teszt eredménye"
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr "Teszt kimeneti értéke"
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr "Teszt eredmény melléklet"
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr "Tesztek megjegyzései"
@@ -7049,128 +7204,128 @@ msgstr "Tesztek megjegyzései"
msgid "Serial number is too large"
msgstr "Szériaszám túl nagy"
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr "Beszerzési ára ennek a készlet tételnek"
-#: stock/serializers.py:286
+#: stock/serializers.py:280
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:298
+#: stock/serializers.py:292
#, 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:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr "Írd be a sorozatszámokat az új tételekhez"
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr "Cél készlet hely"
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr "Opcionális megjegyzés mező"
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez"
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "A sorozatszámok már léteznek"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr "Válaszd ki a beépítésre szánt készlet tételt"
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr "Készlet tétel nem elérhető"
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben"
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr "Cél hely a kiszedett tételeknek"
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr "Tranzakció megjegyzés hozzáadása (opcionális)"
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr "Válassz alkatrészt amire konvertáljuk a készletet"
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz"
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr "Cél hely a visszatérő tételeknek"
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr "Az alkatrésznek értékesíthetőnek kell lennie"
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr "A tétel egy vevő rendeléshez foglalt"
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr "A tétel egy gyártási utasításhoz foglalt"
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr "Vevő akihez rendeljük a készlet tételeket"
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr "A kiválasztott cég nem egy vevő"
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr "Készlet hozzárendelés megjegyzései"
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr "A készlet tételek listáját meg kell adni"
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr "Készlet összevonás megjegyzései"
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr "Nem egyező beszállítók megengedése"
-#: stock/serializers.py:933
+#: stock/serializers.py:914
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:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr "Nem egyező állapotok megjelenítése"
-#: stock/serializers.py:939
+#: stock/serializers.py:920
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:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr "Legalább két készlet tételt meg kell adni"
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr "Készlet tétel elsődleges kulcs értéke"
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr "Készlet tranzakció megjegyzései"
@@ -7207,7 +7362,7 @@ msgstr "Teszt adatok hozzáadása"
msgid "Installed Stock Items"
msgstr "Beépített készlet tételek"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr "Készlet tétel beépítése"
@@ -7215,7 +7370,7 @@ msgstr "Készlet tétel beépítése"
msgid "Delete all test results for this stock item"
msgstr "Készlet tétel összes teszt eredményének törlése"
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr "Teszt eredmény hozzáadása"
@@ -7228,7 +7383,7 @@ msgid "Scan to Location"
msgstr "Áthelyezés kódolvasással"
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr "Nyomtatási műveletek"
@@ -7237,7 +7392,7 @@ msgid "Stock adjustment actions"
msgstr "Készlet módosítási műveletek"
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr "Leltározás"
@@ -7254,7 +7409,7 @@ msgid "Serialize stock"
msgstr "Sorozatszámok előállítása"
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr "Készlet áthelyezése"
@@ -7298,125 +7453,129 @@ msgstr "Készlet tétel szerkesztése"
msgid "Delete stock item"
msgstr "Készlet tétel törlése"
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr "Szülő tétel"
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr "Nincs beállítva gyártó"
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr "Úgytűnik nem vagy ennek a tételnek a tulajdonosa. Ezt így nem tudod módosítani."
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr "Csak olvasható"
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr "Ez a készlet tétel éppen gyártás alatt van és itt még nem szerkeszthető."
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr "A tétel szerkesztése most csak a gyártási nézetből lehetséges."
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr "Ez a készlet tétel nem felelt meg az összes szükséges teszten"
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr "Foglalva ehhez a vevői rendeléshez"
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr "Foglalva ehhez a gyártási utasításhoz"
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Ez a készlet tétel egyedi követésre kötelezett - egyedi sorozatszámmal rendelkezik így a mennyiség nem módosítható."
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr "előző oldal"
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr "Menj az előző sorozatszámhoz"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr "követkető oldal"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr "Menj a következő sorozatszámhoz"
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr "Elérhető mennyiség"
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr "Nincs beállítva hely"
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr "Tesztek"
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n"
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr "Lejárt"
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n"
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr "Állott"
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr "Még nem volt leltározva"
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr "Készlet állapot szerkesztése"
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr "Készlet tétel QR kódja"
+
+#: 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:603
+#: 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:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Figyelem"
-#: stock/templates/stock/item_base.html:607
+#: 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:615
+#: 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:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "Visszavétel készletre"
@@ -7428,74 +7587,77 @@ msgstr "Sorszámozott készletek létrehozása ebből a készlet tételből."
msgid "Select quantity to serialize, and unique serial numbers."
msgstr "Válassz mennyiséget és egyedi sorozatszámokat a sorozatszámozáshoz."
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr "Készlethely leltározása"
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr "Készlet hely keresése"
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr "Készlet bevételezése erre a helyre"
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr "Készlet vonalkódok beolvasása"
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr "Készlet tároló bevételezése erre a helyre"
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr "Tároló vonalkód beolvasása"
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr "Hely műveletek"
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "Hely szerkesztése"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr "Hely törlése"
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr "Legfelső szintű készlet hely"
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr "Hely tulajdonosa"
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr "Úgytűnik nem vagy ennek a készlethelynek a tulajdonosa. Ezt így nem tudod módosítani."
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr "Alhelyek"
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "Készlethelyek"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr "Új készlet hely létrehozása"
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "Új hely"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr "Készlet tároló bevételezve erre a helyre"
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr "Készlet hely QR kódja"
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr "Vonalkód hozzárendelése a készlet helyhez"
@@ -7515,10 +7677,6 @@ msgstr "Foglalások"
msgid "Child Items"
msgstr "Gyermek tételek"
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr "Készlet hely QR kódja"
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr "Hozzáférés megtagadva"
@@ -7673,7 +7831,7 @@ msgid "Delete all read notifications"
msgstr "Olvasott értesítések törlése"
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr "Értesítés törlése"
@@ -7770,8 +7928,16 @@ msgstr "Alkatrész importálása"
msgid "Part Parameter Templates"
msgstr "Alkatrész paraméter sablonok"
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr "Leltár beállítások"
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr "Leltár riportok"
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr "Plugin beállítások"
@@ -7780,7 +7946,7 @@ msgid "Changing the settings below require you to immediately restart the server
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/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr "Pluginok"
@@ -7815,7 +7981,7 @@ msgid "Stage"
msgstr "Szakasz"
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Üzenet"
@@ -7932,71 +8098,71 @@ msgstr "Nincsenek értékek"
msgid "Edit setting"
msgstr "Beállítások módosítása"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr "Plugin beállítások módosítása"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr "Értesítési beállítások szerkesztése"
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr "Általános beállítások szerkesztése"
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr "Felhasználói beállítások szerkesztése"
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr "Arány"
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr "Nincs kategória paraméter sablon"
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr "Sablon szerkesztése"
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr "Sablon törlése"
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr "Kategória paraméter sablon létrehozása"
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr "Kategória paraméter sablon törlése"
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr "Kategória paraméter sablon létrehozása"
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr "Nincs alkatrész paraméter sablon"
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Azonosító"
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr "Alkatrész paraméter sablon létrehozása"
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr "Alkatrész paraméter sablon módosítása"
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
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.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr "Alkatrész paraméter sablon törlése"
@@ -8042,7 +8208,7 @@ msgstr "Általános beállítások"
msgid "Server Configuration"
msgstr "Kiszolgáló konfiguráció"
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr "Kategóriák"
@@ -8515,11 +8681,11 @@ msgstr "Írd be az app által létrehozott tokent:"
msgid "Verify"
msgstr "Ellenőrzés"
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr "Link hozzáadása"
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "Melléklet hozzáadása"
@@ -8527,7 +8693,7 @@ msgstr "Melléklet hozzáadása"
msgid "Delete selected attachments"
msgstr "Kiválasztott mellékletek törlése"
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr "Mellékletek törlése"
@@ -8574,7 +8740,7 @@ msgid "The following parts are low on required stock"
msgstr "A következő alkatrészek szükséges készlete alacsony"
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr "Szükséges mennyiség"
@@ -8588,7 +8754,7 @@ 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:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr "Minimum mennyiség"
@@ -8596,11 +8762,11 @@ msgstr "Minimum mennyiség"
msgid "Expand all rows"
msgstr "Sorok kinyitása"
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr "Nincs válasz"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr "Nincs válasz az InvenTree kiszolgálótól"
@@ -8612,27 +8778,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:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr "Error 401: Nincs hitelesítve"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr "Hitelesítési adatok nem lettek megadva"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr "Error 403: Hozzáférés megtagadva"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
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:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr "Error 404: Erőforrás nem található"
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
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"
@@ -8644,11 +8810,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:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr "Error 408: Időtúllépés"
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
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"
@@ -8660,27 +8826,27 @@ msgstr "Nem kezelt hibakód"
msgid "Error code"
msgstr "Hiba kód"
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr "Az összes kijelölt melléklet törlésre kerül"
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr "Nem találhatók mellékletek"
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr "Melléklet szerkesztése"
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr "Feltöltés dátuma"
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr "Melléklet szerkesztése"
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr "Melléklet törlése"
@@ -8717,7 +8883,7 @@ msgid "Unknown response from server"
msgstr "Ismeretlen válasz a kiszolgálótól"
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr "Érvénytelen válasz a szervertől"
@@ -8741,7 +8907,7 @@ msgstr "Ez törli a vonalkód hozzárendelést"
msgid "Unlink"
msgstr "Leválasztás"
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr "Készlet tétel törlése"
@@ -8811,10 +8977,10 @@ msgstr "Sor adatok mutatása"
msgid "Row Data"
msgstr "Sor adat"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Bezárás"
@@ -8887,122 +9053,122 @@ msgstr "Ár adatokkal együtt"
msgid "Include part pricing data in exported BOM"
msgstr "Ár adatok megjelenítése az exportált alkatrészjegyzékben"
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr "Helyettesítő alkatrész törlése"
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr "Válassz és adj hozzá új helyettesítő alkatrészt a lenti mezőben"
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr "Biztosan törölni akarod ezt a helyettesítő alkatrész hozzárendelést?"
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr "Helyettesítő alkatrész törlése"
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr "Helyettesítő hozzáadása"
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr "Alkatrészjegyzék tétel helyettesítők szerkesztése"
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr "Az összes kijelölt alkatrészjegyzék tétel törlésre kerül"
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?"
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz"
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr "Vannak helyettesítők"
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr "Készletváltozatok engedélyezve"
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr "Helyettesítõk"
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr "Alkatrészjegyzék megtekintése"
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr "Alkatrészjegyzék árazása teljes"
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr "Alkatrészjegyzék árazása nem teljes"
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr "Nincsenek árak"
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr "Nincs szabad"
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr "Változatokkal és helyettesítőkkel együtt"
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr "Változatokkal együtt"
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr "Helyettesítőkkel együtt"
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr "Fogyóeszköz tétel"
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr "Alkatrészjegyzék tétel jóváhagyása"
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr "Ez a sor jóvá lett hagyva"
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr "Helyettesítő alkatrészek szerkesztése"
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr "Alkatrészjegyzék tétel szerkesztése"
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr "Alkatrészjegyzék tétel törlése"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr "Nem találhatók alkatrészjegyzék tételek"
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr "Szükséges alkatrész"
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr "Örökölve a szülő alkatrészjegyzéktől"
@@ -9047,12 +9213,12 @@ msgid "Complete Build Order"
msgstr "Gyártási utasítás befejezése"
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr "Következő szabad sorozatszám"
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr "Legutolsó sorozatszám"
@@ -9100,323 +9266,323 @@ msgstr "Biztosan szeretnéd a már lefoglalt készlet tételeket felszabadítani
msgid "Unallocate Stock Items"
msgstr "Készlet tételek felszabadítása"
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr "Gyártási kimenetek kiválasztása"
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr "Legalább egy gyártási kimenetet ki kell választani"
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr "Kimenet"
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr "Gyártási kimenetek befejezése"
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr "Gyártási kimenetek törlése"
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr "Nincs gyártási utasításhoz történő foglalás"
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr "Hely nincs megadva"
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr "Nem található aktív gyártási kimenet"
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr "Lefoglalt készlet"
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
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:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr "Befejezett tesztek"
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz"
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr "Készlet foglalások szerkesztése"
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr "Készlet foglalások törlése"
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr "Foglalás szerkesztése"
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr "Foglalás törlése"
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr "Vannak helyettesítő alkatrészek"
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr "Szükséges/db"
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr "Nincs elegendő"
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr "Van elegendő"
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr "Gyártási készlet"
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr "Készlet rendelés"
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr "Lefoglalt készlet"
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Kiválasztott alkatrészek"
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
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:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr "Minden alkatrész lefoglalva"
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr "Minden kiválasztott alkatrész teljesen lefoglalva"
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
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:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr "Készlet foglalása a gyártási utasításhoz"
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr "Nincs egyező készlethely"
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr "Nincs egyező készlet"
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr "Automatikus készlet foglalás"
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
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:2405
+#: templates/js/translated/build.js:2407
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:2406
+#: templates/js/translated/build.js:2408
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:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr "Készlet tételek foglalása"
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr "Nincs a lekérdezéssel egyező gyártási utasítás"
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr "Kiválaszt"
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr "Gyártás késésben van"
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr "Haladás"
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr "Nincs felhasználói információ"
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr "Nincs lefoglalt alkatrész ehhez"
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr "Gyártó hozzáadása"
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr "Gyártói alkatrész hozzáadása"
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr "Gyártói alkatrész szerkesztése"
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr "Beszállító hozzáadása"
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr "Beszállítói alkatrész hozzáadása"
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz"
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr "Beszállítói alkatrészek törlése"
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr "Új cég hozzáadása"
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr "Beszállított alkatrészek"
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr "Gyártott alkatrészek"
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr "Nem található céginformáció"
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr "Az összes kijelölt gyártói alkatrész törlésre kerül"
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr "Gyártói alkatrészek törlése"
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr "Az összes kijelölt paraméter törlésre kerül"
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr "Paraméterek törlése"
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr "Nincs gyártói alkatrész"
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr "Sablon alkatrész"
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr "Gyártmány alkatrész"
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr "Nem található paraméter"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr "Paraméter szerkesztése"
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr "Paraméter törlése"
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr "Paraméter szerkesztése"
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr "Paraméter törlése"
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr "Nincs beszállítói alkatrész"
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr "Elérhetőség"
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr "Beszállítói alkatrész szerkesztése"
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr "Beszállítói alkatrész törlése"
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr "Ársáv törlése"
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr "Ársáv szerkesztése"
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr "Nincs ársáv információ"
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr "Utoljára módosítva"
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr "Ársáv szerkesztése"
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr "Ársáv törlése"
@@ -9483,32 +9649,32 @@ msgstr "Form nyitva tartása"
msgid "Enter a valid number"
msgstr "Adj meg egy érvényes számot"
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Form hibák vannak"
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr "Nincs eredmény"
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr "Keresés"
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr "Bevitel törlése"
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr "Fájl oszlop"
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr "Mező név"
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr "Oszlopok kiválasztása"
@@ -9520,7 +9686,7 @@ msgstr "IGEN"
msgid "NO"
msgstr "NEM"
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr "Megjegyzések frissítve"
@@ -9529,7 +9695,7 @@ msgid "Labels sent to printer"
msgstr "Címkék nyomtatónak elküldve"
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr "Készlet tételek kiválasztása"
@@ -9574,70 +9740,70 @@ msgstr "Nyomtató kiválasztása"
msgid "Export to PDF"
msgstr "Exportálás PDF-be"
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr "kiválasztott készlet tételek"
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr "Címke sablon kiválasztása"
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "Mégsem"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Küldés"
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr "Form megnevezése"
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr "Várakozás a kiszolgálóra..."
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr "Hibainformációk megjelenítése"
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr "Elfogadás"
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr "Adatok betöltése"
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr "Rossz válasz a kiszolgálótól"
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
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:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr "Form adat küldési hiba"
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr "JSON válasz hiányzó form adatok"
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr "Error 400: Rossz kérelem"
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr "A kiszolgáló 400-as hibakódot adott vissza"
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr "Form adat lekérése sikertelen"
@@ -9671,759 +9837,758 @@ msgstr "Nem találhatók hírek"
msgid "Age"
msgstr "Életkor"
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr "Értesítés"
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr "Megjelölés olvasatlanként"
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr "Megjelölés olvasottként"
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr "Nincs olvasatlan értesítés"
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr "Az értesítések itt fognak megjelenni"
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr "Ehhez a szállítmányhoz nincs készlet hozzárendelve"
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr "A következő készlet tételek ki lesznek szállítva"
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr "Függő szállítmányok kiszállítása"
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr "Szállítmány megerősítése"
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr "Nincs függő szállítmány"
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr "A függő a szállítmányokhoz nincs készlet hozzárendelve"
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr "Kihagyás"
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr "Beszerzési rendelés befejezése"
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr "Rendelés befejezettnek jelölése?"
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr "Minden sortétel megérkezett"
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be."
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők."
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr "Beszerzési rendelés törlése"
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr "Biztosan törölni szeretnéd ezt a beszerzési rendelést?"
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr "Ezt a beszerzési rendelést nem lehet törölni"
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr "Beszerzési rendelés kiküldése"
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr "A beszerzési rendelés kiküldése után annak sortételei a továbbiakban már nem lesznek szerkeszthetők."
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem teljesítettek."
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr "Vevő rendelés törlése"
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők."
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr "Szállítmány létrehozása"
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr "Vevő hozzáadása"
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr "Vevői rendelés létrehozása"
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr "Vevői rendelés szerkesztése"
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr "Válaszd ki a lemásolandó beszerzési rendelést"
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr "Sortételek másolása"
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr "Összes sortétel másolása a kiválasztott rendelésből"
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr "Egyéb tételek másolása"
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr "Összes egyéb tétel másolása a kiválasztott rendelésből"
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr "Beszerzési rendelés szerkesztése"
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr "Másolási opciók"
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr "Rendelés exportálása"
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr "Legalább egy beszerezhető alkatrészt ki kell választani"
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr "Rendelendő mennyiség"
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr "Új beszállítói alkatrész"
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr "Új beszerzési rendelés"
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr "Hozzáadás beszerzési rendeléshez"
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr "Nincsenek egyező beszállítói alkatrészek"
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr "Nincsenek egyező beszerzési rendelések"
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr "Sortételek kiválasztása"
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr "Legalább egy sortételt ki kell választani"
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr "Batch kód hozzáadása"
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr "Sorozatszám hozzáadása"
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr "Beérkezett mennyiség"
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr "Érkező mennyiség"
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr "Készlet állapota"
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr "Rendelési kód"
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr "Megrendelve"
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr "Érkező mennyiség"
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr "Bevételezés megerősítése"
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr "Beszerzési rendelés tételeinek bevételezése"
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr "Nem található beszerzési rendelés"
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr "Rendelés késésben"
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr "Tételek"
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr "Sortétel másolása"
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr "Sortétel szerkesztése"
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr "Sortétel törlése"
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr "Nem találhatók sortételek"
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr "Összesen"
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr "Teljes mennyiség"
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr "Egységár"
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr "Teljes ár"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr "Ez a sortétel késésben van"
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr "Sortétel bevételezése"
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr "Sortétel másolása"
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr "Sortétel szerkesztése"
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr "Sortétel törlése"
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr "Sor másolása"
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr "Sor szerkesztése"
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr "Sor törlése"
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr "Sor másolása"
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr "Sor szerkesztése"
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr "Sor törlése"
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr "Nincs egyező sor"
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr "Nem található vevői rendelés"
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr "Érvénytelen vevő"
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr "Szállítmány szerkesztése"
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr "Szállítmány kiszállítása"
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr "Szállítmány törlése"
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr "Szállítmány szerkesztése"
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr "Szállítmány törlése"
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr "Nincs egyező szállímány"
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr "Szállítmány azonosító"
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr "Nincs kiszállítva"
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr "Nyomkövetés"
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr "Számla"
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr "Szállítmány hozzáadása"
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr "Készlet foglalás megerősítése"
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr "Készlet foglalása a vevői rendeléshez"
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr "Nincs vevői rendeléshez történő foglalás"
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr "Készlet foglalások szerkesztése"
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr "Törlési művelet megerősítése"
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr "Készlet foglalások törlése"
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr "Vevőnek kiszállítva"
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr "Készlethely nincs megadva"
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr "Sorozatszámok kiosztása"
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr "Készletrendelés"
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr "Árszámítás"
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
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/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr "Nem törölhető mivel tételek vannak lefoglalva"
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr "Sorozatszámok kiosztása"
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr "Egységár módosítása"
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr "Nincs egyező sortétel"
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr "Nincsenek egyező sorok"
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr "Alkatrész tulajdonságok"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr "Alkatrész létrehozási opciók"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr "Alkatrész másolási opciók"
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr "Alkatrész kategória hozzáadása"
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr "Kategória paraméterek másolása"
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából"
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr "Felsőbb szintű alkatrész kategória"
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt"
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr "Alkatrész kategória szerkesztése"
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?"
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr "Áthelyezés fentebbi kategóriába"
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr "Alkatrész kategória törlése"
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr "A kategóriában lévő alkatrészek kezelése"
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr "Alkategóriák kezelése"
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr "Alkatrész létrehozása"
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr "Új alkatrész létrehozása ez után"
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr "Alkatrész sikeresen létrehozva"
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr "Alkatrész szerkesztése"
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr "Alkatrész módosítva"
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr "Alkatrész változat létrehozása"
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr "Aktív alkatrész"
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr "Alkatrész nem törölhető mivel még aktív"
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr "Ezen alkatrész törlése nem vonható vissza"
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz"
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz"
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz"
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr "Alkatrész törlése"
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr "Értesítések beállítva erre a tételre"
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr "Értesítések beállítva erre a tételre"
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr "Értesítések kérése erre a tételre"
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr "Értesítések letiltva erre a tételre"
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni"
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr "Alkatrészjegyzék jóváhagyása"
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr "Alkatrészjegyzék jóvá lett hagyva"
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr "Alkatrészjegyzék másolása"
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr "Alacsony készlet"
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr "Nincs szabad"
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr "Mértékegység"
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr "Követésre kötelezett alkatrész"
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr "Virtuális alkatrész"
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr "Értesítésre beállított alkatrész"
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr "Értékesíthető alkatrész"
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
-msgstr "A készlet tétel mostanában nem volt ellenőrizve"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr "Új leltár riport ütemezése."
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr "Amint elkészül, az új leltár riport letölthető lesz."
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
+msgstr "Leltár riport létrehozása"
#: templates/js/translated/part.js:752
-msgid "Update item"
-msgstr "Tétel frissítése"
+msgid "Stocktake report scheduled"
+msgstr "Leltár riport beütemezve"
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr "Tétel törlése"
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr "Nincs elérhető leltár előzmény"
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr "Leltár bejegyzés szerkesztése"
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr "Leltár bejegyzés törlése"
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr "Nincs több változat"
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr "Alkatrész kapcsolatok törlése"
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr "Alkatrész kapcsolatok törlése"
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr "Nincs alkatrész"
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr "Nincs kategória"
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr "Nincs készlet"
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr "Gyártáshoz lefoglalva"
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr "Vevő rendeléshez lefoglalva"
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr "Megjelenítés listaként"
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr "Megjelenítés rácsnézetként"
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
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:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr "Alkatrész kategória beállítása"
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr "Alkatrész kategória kiválasztása"
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr "Kategória megadása kötelező"
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr "Megjelenítés fában"
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr "Alkategóriák betöltése"
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr "Értesítésre beállított kategória"
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr "Nincs a lekérdezéssel egyező teszt sablon"
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
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:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr "Teszt eredmény sablon szerkesztése"
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr "Teszt eredmény sablon törlése"
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr "Nincs megadva dátum"
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr "A megadott dátum a múltban van"
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr "Spekulatív"
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
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:2606
+#: templates/js/translated/part.js:2705
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:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr "Ütemezett készlet mennyiség"
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr "Minimum mennyiség"
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr "Minimális készlet"
@@ -10435,49 +10600,49 @@ msgstr "A plugin telepítve lett"
msgid "Error fetching currency data"
msgstr "Pénznem adatok lekérdezése sikertelen"
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr "Nincs alkatrészjegyzék infomáció"
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr "Nincs beszállítói árinfomáció"
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr "Nincsenek ársáv adatok"
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "${human_name} szerkesztése"
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "${human_name} törlése"
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr "Nincsenek beszerzési ár előzmények"
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr "Beszerzési ár előzmények"
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr "Nincsenek eladási ár előzmények"
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr "Eladási ár előzmények"
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr "Nincs alkatrészváltozat infomáció"
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr "Alkatrészváltozat"
@@ -10567,376 +10732,376 @@ msgstr "Készlet sorozatszámozás megerősítése"
msgid "Parent stock location"
msgstr "Felsőbb szintű készlet hely"
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr "Készlet hely szerkesztése"
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr "Új készlet hely"
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr "Biztosan törölni szeretnéd ezt a készlet helyet?"
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr "Szülő készlet helyre mozgatás"
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr "Készlethely törlése"
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr "Műveletek az ezen a helyen lévő tételekhez"
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr "Műveletek az al-helyekhez"
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr "Ezt az alkatrészt nem lehet sorozatszámozni"
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez"
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)"
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr "Készlet tétel lemásolva"
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr "Készlet tétel másolása"
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr "Biztosan törölni szeretnéd ezt a készlet tételt?"
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr "Készlet tétel törlése"
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr "Készlet tétel szerkesztése"
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr "Készlet tétel létrehozva"
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr "Több készlet tétel létre lett hozva"
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr "Sorozatszám keresése"
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr "Sorozatszám megadása"
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr "Adj meg egy sorozatszámot"
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr "Nincs egyező sorozatszám"
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr "Több egyező eredmény is van"
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr "Készlet hozzárendelés jóváhagyása"
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr "Készlet vevőhöz rendelése"
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr "Figyelem: az összevonási művelet nem vonható vissza"
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr "Némi információ elveszik a készlet összevonás során"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr "A készlettörténet törölve lesz az összevont tételeknél"
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr "A beszállítói alkatrész információk törlődnek az összevont tételeknél"
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr "Készlet összevonás megerősítése"
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr "Készlet tételek összevonása"
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr "Készlet áthelyezése"
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr "Áthelyezés"
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr "Leltározás"
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr "Mennyiség"
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr "Készlet csökkentése"
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr "Kivesz"
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr "Készlet növelése"
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr "Hozzáad"
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr "Készlet törlése"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosítható"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr "Készlet mennyiség megadása"
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr "Ki kell választanod legalább egy rendelkezésre álló készlet tételt"
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr "Készlet módosítás jóváhagyása"
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr "SIKER"
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr "SIKERTELEN"
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr "NINCS EREDMÉNY"
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr "Teszt sikeres"
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr "Teszt eredmény hozzáadása"
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr "Nincs teszt eredmény"
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr "Teszt dátuma"
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr "Gyártásban"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr "Beépítve készlet tételbe"
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr "Vevő rendeléshez hozzárendelve"
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr "Nincs hely megadva"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr "Készlet tétel gyártás alatt"
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr "Készlet tétel teljes egészében lefoglalva"
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr "Készlet tétel részben lefoglalva"
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
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:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr "Készlet tétel lejárt"
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr "Készlet tétel hamarosan lejár"
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr "Készlet tétel elutasítva"
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr "Készlet tétel elveszett"
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr "Készlet tétel megsemmisült"
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr "Kimerült"
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr "Beszállítói alkatrész nincs megadva"
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr "Nincs a lekérdezésnek megfelelő készlet tétel"
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr "Készlet állapot beállítása"
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr "Státuszkód kiválasztása"
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr "Státuszkódot ki kell választani"
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr "Alhelyek betöltése"
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr "Részletek"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr "Alkatrész információ nem áll rendelkezésre"
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr "A hely már nem létezik"
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr "Beszerzési megrendelés már nem létezik"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr "Vevő már nem létezik"
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr "A készlet tétel már nem létezik"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr "Hozzáadva"
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr "Eltávolítva"
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr "Nincsenek beépített tételek"
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr "Készlet tétel kiszedése"
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr "Válaszd ki a kiszedni való készlet tételt"
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
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:2870
+#: templates/js/translated/stock.js:2923
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:2872
+#: templates/js/translated/stock.js:2925
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:2873
+#: templates/js/translated/stock.js:2926
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:2874
+#: templates/js/translated/stock.js:2927
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:2875
+#: templates/js/translated/stock.js:2928
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:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr "Válaszd ki a beépítendő alkatrészt"
@@ -10961,12 +11126,12 @@ msgid "Allow Variant Stock"
msgstr "Készlet változatok engedélyezése"
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr "Van árazás"
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr "Alhelyekkel együtt"
@@ -10974,218 +11139,218 @@ msgstr "Alhelyekkel együtt"
msgid "Include locations"
msgstr "Helyekkel együtt"
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr "Alkategóriákkal együtt"
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr "Értesítés beállítva"
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:250
msgid "Is Serialized"
msgstr "Sorozatszámos"
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:257
msgid "Serial number GTE"
msgstr "Sorozatszám >="
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:258
msgid "Serial number greater than or equal to"
msgstr "Sorozatszám nagyobb vagy egyenlő mint"
-#: templates/js/translated/table_filters.js:171
-#: templates/js/translated/table_filters.js:257
+#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
msgid "Serial number LTE"
msgstr "Sorozatszám <="
-#: templates/js/translated/table_filters.js:172
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:262
msgid "Serial number less than or equal to"
msgstr "Sorozatszám kisebb vagy egyenlő mint"
-#: templates/js/translated/table_filters.js:175
-#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr "Sorozatszám"
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr "Batch kód"
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr "Aktív alkatrész"
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr "Aktív alkatrészek készletének megjelenítése"
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr "Az alkatrész egy gyártmány"
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr "Lefoglalt"
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr "Az tétel lefoglalásra került"
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr "Felhasználható készlet"
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr "Alhelyeken lévő készlettel együtt"
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr "Kimerült készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr "Készleten lévő tételek megjelenítése"
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr "Gyártásban"
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr "Gyártásban lévő tételek megjelenítése"
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr "Változatokkal együtt"
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr "Alkatrészváltozatok készletével együtt"
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr "Beépítve"
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr "Másik tételbe beépült tételek mutatása"
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr "Készlet tételek melyek hozzá vannak rendelve egy vevőhöz"
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr "Készlet állapota"
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr "Van batch kódja"
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr "Követett"
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr "Követett készlet tétel sorozatszámmal vagy batch kóddal"
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr "Van beszerzési ára"
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr "Beszerzési árral rendelkező készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr "Lejárat előtt"
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr "Lejárat után"
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr "Lejárt készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr "Hamarosan lejáró készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr "Teszten megfelelt"
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr "Beépített tételekkel együtt"
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr "Gyártási állapot"
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr "Hozzám rendelt"
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr "Rendelés állapota"
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr "Kintlévő"
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr "Alkategóriákkal együtt"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr "Aktív alkatrészek megjelenítése"
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr "Elérhető"
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr "Van IPN-je"
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr "Van belső cikkszáma"
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr "Készleten"
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr "Beszerezhető"
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr "Volt leltár"
@@ -11513,51 +11678,51 @@ msgstr "Felhasználók"
msgid "Select which users are assigned to this group"
msgstr "Válaszd ki mely felhasználók tartoznak ehhez a csoporthoz"
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr "A kövekező felhasználók több csoportnak is tagjai:"
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr "Személyes adatok"
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr "Jogosultságok"
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr "Fontos dátumok"
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "Jogosultságok"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr "Csoport"
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "Nézet"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "Jogosultság tételek megtekintéséhez"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "Jogosultság tételek hozzáadásához"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr "Módosítás"
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "Jogosultság tételek szerkesztéséhez"
-#: users/models.py:225
+#: users/models.py:231
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 4677b45eaf..060eea57de 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -29,23 +29,23 @@ msgstr ""
msgid "Enter date"
msgstr "Masukkan tanggal"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Catatan"
@@ -58,23 +58,23 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Masukkan sandi"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Masukkan kata sandi baru"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Konfirmasikan kata sandi"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Konfirmasi sandi baru"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Kata sandi lama"
@@ -130,7 +130,7 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr "URL yang diberikan bukan file gambar yang valid"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Jumlah yang diberikan tidak valid"
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "File tidak ditemukan"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Tautan eksternal tidak ditemukan"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Lampiran"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Pilih file untuk dilampirkan"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Tautan"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Tautan menuju URL eksternal"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Komentar"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Komentar file"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Pengguna"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "tanggal diunggah"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Nama file tidak boleh kosong"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Direktori lampiran tidak valid"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Nama file mengandung karakter yang tidak diperkenankan '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Nama file tidak memiliki ekstensi"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Lampiran dengan nama file ini sudah ada"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Kesalahan merubah nama file"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Pilihan tidak valid"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Nama"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Keterangan"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Keterangan (opsional)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "induk"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Direktori"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Data Barcode"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Data barcode pihak ketiga"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Barcode Hash"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Hash unik data barcode"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Sudah ada barcode yang sama"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Terjadi Kesalahan Server"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Sebuah kesalahan telah dicatat oleh server."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Nama File"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Nilai tidak valid"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "File data"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Pilih file untuk diunggah"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Jenis file tidak didukung"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Ukuran file terlalu besar"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Tidak ditemukan kolom dalam file"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Tidak ditemukan barisan data dalam file"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Tidak ada barisan data tersedia"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Tidak ada kolom data tersedia"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Kolom yang diperlukan kurang: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Kolom duplikat: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL file gambar external"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Unduhan gambar dari URL external tidak aktif"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Ceko"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Denmark"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Jerman"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Yunani"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Inggris"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Spanyol (Meksiko)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Persia"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Perancis"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Ibrani"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Hungaria"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Itali"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Jepang"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Korea"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Belanda"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norwegia"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polandia"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugis"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugis (Brasil)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Rusia"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Swedia"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thai"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Turki"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnam"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Cina"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr ""
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr ""
@@ -579,8 +592,8 @@ msgstr "Hilang"
msgid "Returned"
msgstr "Dikembalikan"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Dikirim"
@@ -664,7 +677,7 @@ msgstr "Dipisah dari item induk"
msgid "Split child item"
msgstr "Pisah item dari barang induk"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Stok item digabungkan"
@@ -672,7 +685,7 @@ msgstr "Stok item digabungkan"
msgid "Converted to variant"
msgstr "Dikonversi ke variasi"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Terkirim ke pelanggan"
@@ -721,27 +734,27 @@ msgstr "Kelebihan tidak boleh melebihi 100%"
msgid "Invalid value for overage"
msgstr "Nilai kelebihan tidak valid"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Ubah Informasi User"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Atur Kata Sandi"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Bidang kata sandi tidak cocok"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Kata sandi yang salah"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Informasi Sistem"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Tentang InvenTree"
@@ -749,44 +762,44 @@ msgstr "Tentang InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Pesanan harus dibatalkan sebelum dapat dihapus"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Pilihan produksi induk tidak valid"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Order Produksi"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Order Produksi"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Pilihan produksi induk tidak valid"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Referensi Order Produksi"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referensi"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produksi induk dari produksi ini"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Bagian"
@@ -855,8 +869,8 @@ msgstr "Referensi Order Penjualan"
msgid "SalesOrder to which this build is allocated"
msgstr "Order penjualan yang teralokasikan ke pesanan ini"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Lokasi Sumber"
@@ -896,21 +910,21 @@ msgstr "Status pembuatan"
msgid "Build status code"
msgstr "Kode status pembuatan"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Kode Kelompok"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Kode kelompok untuk hasil produksi ini"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Tanggal Pembuatan"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Target tanggal selesai"
@@ -918,8 +932,8 @@ msgstr "Target tanggal selesai"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Tanggal selesai"
@@ -927,7 +941,7 @@ msgstr "Tanggal selesai"
msgid "completed by"
msgstr "diselesaikan oleh"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Diserahkan oleh"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Pengguna yang menyerahkan order ini"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Penanggung Jawab"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Tautan eksternal"
@@ -999,11 +1013,11 @@ msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Item stok teralokasikan terlalu banyak"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Jumlah yang dialokasikan harus lebih dari nol"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Item stok yang dipilih tidak ditemukan dalam daftar barang order"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Produksi"
@@ -1025,18 +1039,18 @@ msgstr "Produksi"
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Stok Item"
@@ -1044,12 +1058,12 @@ msgstr "Stok Item"
msgid "Source stock item"
msgstr "Sumber stok item"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Sumber stok item"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Jumlah"
@@ -1097,249 +1110,249 @@ msgstr "Pasang ke"
msgid "Destination stock item"
msgstr "Tujuan stok item"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Hasil Produksi"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Hasil produksi tidak sesuai dengan produksi induk"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Hasil produksi ini sudah diselesaikan"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "Hasil produksi tidak dialokasikan sepenuhnya"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Masukkan jumlah hasil pesanan"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "Jumlah harus lebih besar daripada nol"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang"
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Nomor Seri"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Masukkan nomor seri untuk hasil pesanan"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "Alokasikan nomor seri secara otomatis"
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis"
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr "Daftar hasil pesanan harus disediakan"
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Lokasi"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr "Lokasi hasil pesanan yang selesai"
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Status"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr "Terima Alokasi Tidak Lengkap"
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "Terima Tidak Teralokasikan"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Terima Tidak Selesai"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Terima bahwa jumlah hasil produksi yang diperlukan belum selesai"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "Jumlah produksi yang diperlukan masih belum cukup"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr "Order memiliki hasil produksi yang belum dilengkapi"
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "Item tagihan material"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr "Hasil produksi"
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr "Hasil pesanan harus mengarah ke pesanan yang sama"
-#: build/serializers.py:655
+#: build/serializers.py:665
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:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "Item harus tersedia dalam stok"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Jumlah tersedia ({q}) terlampaui"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak"
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak"
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr "Stok item ini telah dialokasikan ke hasil produksi ini"
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr "Item yang dialokasikan harus disediakan"
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Lokasi stok, dari mana bahan/bagian akan diambilkan (kosongkan untuk mengambil dari lokasi mana pun)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "Lokasi tidak termasuk"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "Jangan ambil stok item dari lokasi yang dipilih"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr "Stok bergantian"
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "Stok pengganti"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr "Izinkan alokasi bagian pengganti"
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 70653b9131..f4b41da539 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-15 21:25\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -29,23 +29,23 @@ msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministra
msgid "Enter date"
msgstr "Inserisci la data"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Note"
@@ -58,23 +58,23 @@ msgstr "Il valore '{name}' non è nel formato del pattern"
msgid "Provided value does not match required pattern: "
msgstr "Il valore fornito non corrisponde al modello richiesto: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Inserire la password"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Inserire una nuova password"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Conferma la password"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Conferma la nuova password"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Vecchia password"
@@ -130,7 +130,7 @@ msgstr "Il server remoto ha restituito una risposta vuota"
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fornito non è un file immagine valido"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Quantità inserita non valida"
@@ -170,23 +170,23 @@ msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quant
msgid "Remove HTML tags from this value"
msgstr "Rimuovi i tag HTML da questo valore"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Schema formattato impropriamente"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Formato chiave sconosciuta"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Formato chiave mancante"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Il campo di riferimento non può essere vuoto"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Il campo deve corrispondere al modello richiesto"
@@ -194,350 +194,363 @@ msgstr "Il campo deve corrispondere al modello richiesto"
msgid "Reference number is too large"
msgstr "Numero di riferimento troppo grande"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "File mancante"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Link esterno mancante"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Allegato"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Collegamento"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Link a URL esterno"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Commento"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Commento del file"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Utente"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "data caricamento"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Il nome del file non deve essere vuoto"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Directory allegati non valida"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Il nome del file contiene caratteri non validi '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Nome file estensione mancante"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Esiste già un allegato con questo nome di file"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Errore nella rinominazione del file"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Scelta non valida"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Nome"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Descrizione"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Descrizione (opzionale)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "genitore"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Percorso"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Dati del Codice a Barre"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Dati Codice a Barre applicazioni di terze parti"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Codice a Barre"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Codice univoco del codice a barre"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Trovato codice a barre esistente"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Errore del server"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Un errore è stato loggato dal server."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Valuta"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr "Selezionare la valuta dalle opzioni disponibili"
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Nome del file"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Valore non valido"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "File dati"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Seleziona un file per il caricamento"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Formato file non supportato"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "File troppo grande"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Nessun colonna trovata nel file"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Nessuna riga di dati trovata nel file"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Nessun dato fornito"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Nessuna colonna di dati fornita"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonna richiesta mancante: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonna duplicata: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL del file immagine remota"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Il download delle immagini da URL remoto non è abilitato"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Ceco"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Danese"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Tedesco"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Greco"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Inglese"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Spagnolo"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Spagnolo (Messicano)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Persiano"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Francese"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Ebraico"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Ungherese"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Giapponese"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Olandese"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norvegese"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polacco"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portoghese"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portoghese (Brasile)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Russo"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Sloveno"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Svedese"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thailandese"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Cinese"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Controllo in background non riuscito"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Controlli di sistema InvenTree falliti"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "In attesa"
@@ -579,8 +592,8 @@ msgstr "Perso"
msgid "Returned"
msgstr "Reso"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Spedito"
@@ -664,7 +677,7 @@ msgstr "Diviso dall'elemento genitore"
msgid "Split child item"
msgstr "Dividi elemento figlio"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Elemento stock raggruppato"
@@ -672,7 +685,7 @@ msgstr "Elemento stock raggruppato"
msgid "Converted to variant"
msgstr "Convertito in variante"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Inviato al cliente"
@@ -721,27 +734,27 @@ msgstr "L'eccesso non deve superare il 100%"
msgid "Invalid value for overage"
msgstr "Valore non valido per eccedenza"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Modifica informazioni utente"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Imposta Password"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Le password devono coincidere"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Password inserita non corretta"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Informazioni sistema"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Informazioni Su InvenTree"
@@ -749,44 +762,44 @@ msgstr "Informazioni Su InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "La produzione deve essere annullata prima di poter essere eliminata"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Scelta non valida per la produzione genitore"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Ordine di Produzione"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Ordini di Produzione"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Scelta non valida per la produzione genitore"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Riferimento Ordine Di Produzione"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Riferimento"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Articolo"
@@ -855,8 +869,8 @@ msgstr "Numero di riferimento ordine di vendita"
msgid "SalesOrder to which this build is allocated"
msgstr "Ordine di vendita a cui questa produzione viene assegnata"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Posizione Di Origine"
@@ -896,21 +910,21 @@ msgstr "Stato Produzione"
msgid "Build status code"
msgstr "Codice stato di produzione"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Codice Lotto"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Codice del lotto per questa produzione"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Data di creazione"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Data completamento obiettivo"
@@ -918,8 +932,8 @@ msgstr "Data completamento obiettivo"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Data di completamento"
@@ -927,7 +941,7 @@ msgstr "Data di completamento"
msgid "completed by"
msgstr "Completato da"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Rilasciato da"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Utente che ha emesso questo ordine di costruzione"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Responsabile"
@@ -952,8 +966,8 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione"
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Collegamento esterno"
@@ -999,11 +1013,11 @@ msgstr "L'elemento di compilazione deve specificare un output poiché la parte p
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "L'articolo in giacenza è sovrallocato"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "La quantità di assegnazione deve essere maggiore di zero"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Articolo in giacenza selezionato non trovato nel BOM"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Produzione"
@@ -1025,18 +1039,18 @@ msgstr "Produzione"
msgid "Build to allocate parts"
msgstr "Costruisci per allocare gli articoli"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Articoli in magazzino"
@@ -1044,12 +1058,12 @@ msgstr "Articoli in magazzino"
msgid "Source stock item"
msgstr "Origine giacenza articolo"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Origine giacenza articolo"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Quantità"
@@ -1097,249 +1110,249 @@ msgstr "Installa in"
msgid "Destination stock item"
msgstr "Destinazione articolo in giacenza"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Genera Output"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "L'output generato non corrisponde alla produzione principale"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "L'output non corrisponde alle parti dell'ordine di produzione"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Questa produzione è stata già completata"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "Questo output non è stato completamente assegnato"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Inserisci la quantità per l'output di compilazione"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "Quantità totale richiesta per articoli rintracciabili"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili"
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Codice Seriale"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "Numeri di Serie Assegnazione automatica"
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti"
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr "I seguenti numeri di serie sono già esistenti o non sono validi"
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr "Deve essere fornito un elenco dei risultati di produzione"
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Posizione"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr "Posizione per gli output di build completati"
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Stato"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr "Accetta Assegnazione Incompleta"
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Completa l'output se le scorte non sono state interamente assegnate"
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr "Rimuovi Giacenze Allocate"
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr "Detrai qualsiasi scorta che è stata già assegnata a questa produzione"
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr "Rimuovi Output Incompleti"
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr "Elimina gli output di produzione che non sono stati completati"
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr "Accetta come consumato da questo ordine di produzione"
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr "Non assegnare prima di aver completato questo ordine di produzione"
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr "Giacenza in eccesso assegnata"
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Come si desidera gestire gli elementi extra giacenza assegnati all'ordine di produzione"
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza"
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "Accetta Non Assegnato"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegnati a questo ordine di produzione"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "La giacenza richiesta non è stata completamente assegnata"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Accetta Incompleta"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Accetta che il numero richiesto di output di produzione non sia stato completato"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "La quantità di produzione richiesta non è stata completata"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr "L'ordine di produzione ha output incompleti"
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "Distinta base (Bom)"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr "Genera Output"
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr "L'output di produzione deve puntare alla stessa produzione"
-#: build/serializers.py:655
+#: build/serializers.py:665
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:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "L'articolo deve essere disponibile"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantità disponibile ({q}) superata"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr "L'output di produzione deve essere specificato per l'ubicazione delle parti tracciate"
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate"
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr "Questa giacenza di magazzino è già stato assegnato a questa produzione"
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr "Deve essere indicata l'allocazione dell'articolo"
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Posizione dello stock in cui le parti devono prelevate (lasciare vuoto per prelevare da qualsiasi luogo)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "Escludi Ubicazione"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "Escludi gli elementi stock da questa ubicazione selezionata"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr "Scorte Intercambiabili"
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Gli elementi in magazzino in più sedi possono essere utilizzati in modo intercambiabile"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "Sostituisci Giacenze"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr "Consenti l'allocazione delle parti sostitutive"
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr "Articoli Opzionali"
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione"
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzione"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Data scadenza"
@@ -1445,29 +1458,29 @@ msgstr "Questa produzione era in scadenza il %(target)s"
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "In ritardo"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Completato"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Ordini di Vendita"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Inviato da"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr "Priorità"
@@ -1498,8 +1511,8 @@ msgstr "Risorse di magazzino"
msgid "Stock can be taken from any available location."
msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile."
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Destinazione"
@@ -1511,21 +1524,21 @@ msgstr "Posizione di destinazione non specificata"
msgid "Allocated Parts"
msgstr "Articoli Assegnati"
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Lotto"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Creato"
@@ -1545,7 +1558,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:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "Scorte Non Assegnate"
@@ -1576,7 +1589,7 @@ msgstr "Ordina articoli richiesti"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Ordine Articoli"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr "Cancella l'output"
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "Azioni di stampa"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Stampa etichette"
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr "Produzioni Completate"
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Allegati"
@@ -1666,7 +1681,7 @@ msgstr "Assegnazione Completa"
msgid "All untracked stock items have been allocated"
msgstr "Tutte le giacenze non tracciate sono state assegnate"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Nuovo Ordine di Produzione"
@@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} File"
msgid "Select {name} file to upload"
msgstr "Seleziona il file {name} da caricare"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr "Aggiornato"
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr "Orario dell'ultimo aggiornamento"
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole)"
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr "Valore impostazioni"
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr "Il valore specificato non è un opzione valida"
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr "Il valore deve essere un valore booleano"
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr "Il valore deve essere un intero"
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr "La stringa chiave deve essere univoca"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr "Nessun gruppo"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr "Un dominio vuoto non è consentito."
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr "Nome dominio non valido: {domain}"
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Riavvio richiesto"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr "È stata modificata un'impostazione che richiede un riavvio del server"
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr "Nome Istanza Del Server"
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr "Descrittore stringa per l'istanza del server"
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr "Utilizza nome istanza"
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr "Usa il nome dell'istanza nella barra del titolo"
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr "Limita visualizzazione `Informazioni`"
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr "Mostra la modalità `Informazioni` solo ai superusers"
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Nome azienda"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Nome interno dell'azienda"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "URL Base"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "URL di base per l'istanza del server"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Valuta predefinita"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr "Selezionare la valuta di base per i calcoli dei prezzi"
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Scarica dall'URL"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Consenti il download di immagini e file remoti da URL esterno"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr "Limite Dimensione Download"
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr "Dimensione massima consentita per il download dell'immagine remota"
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr "User-agent utilizzato per scaricare dall'URL"
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr "Consenti di sovrascrivere l'user-agent utilizzato per scaricare immagini e file da URL esterno (lasciare vuoto per il predefinito)"
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr "Richiesta conferma"
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr "Richiede una conferma esplicita dell'utente per una determinata azione."
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr "Profondità livelli"
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr "Profondità predefinita per la visualizzazione ad albero. I livelli più in alto possono essere caricati più lentamente quando necessari."
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr "Backup automatico"
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr "Abilita il backup automatico di database e file multimediali"
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
-msgstr "Giorni tra il backup"
+msgstr "Giorni tra i backup"
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr "Cancella le vecchie sessioni"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr "I risultati delle attività in background verranno eliminati dopo un determinato numero di giorni"
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr "Elimina Log Degli Errori"
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr "I log di errore verranno eliminati dopo il numero specificato di giorni"
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr "Cancella Notifiche"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr "Le notifiche dell'utente verranno eliminate dopo il numero di giorni specificato"
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Supporto Codice A Barre"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Abilita supporto scanner codici a barre"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr "Codice a barre inserito scaduto"
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr "Tempo di ritardo di elaborazione codice a barre"
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr "Codice a Barre Supporto Webcam"
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr "Consenti la scansione del codice a barre tramite webcam nel browser"
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr "Schema di espressione regolare per l'articolo corrispondente IPN"
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Consenti duplicati IPN"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr "Permetti a più articoli di condividere lo stesso IPN"
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "Permetti modifiche al part number interno (IPN)"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr "Copia I Dati Della distinta base dell'articolo"
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr "Copia i dati della Distinta Base predefinita quando duplichi un articolo"
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr "Copia I Dati Parametro dell'articolo"
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copia i dati dei parametri di default quando si duplica un articolo"
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr "Copia I Dati dell'Articolo Test"
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr "Copia i dati di prova di default quando si duplica un articolo"
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr "Copia Template Parametri Categoria"
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Modello"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "Gli articoli sono modelli per impostazione predefinita"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Assemblaggio"
-#: common/models.py:1107
+#: common/models.py:1114
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:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Componente"
-#: common/models.py:1114
+#: common/models.py:1121
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:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "Acquistabile"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Vendibile"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Tracciabile"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "Gli articoli sono tracciabili per impostazione predefinita"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Virtuale"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Gli articoli sono virtuali per impostazione predefinita"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr "Mostra l'importazione nelle viste"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr "Mostra la procedura guidata di importazione in alcune viste articoli"
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "Mostra articoli correlati"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr "Visualizza parti correlate per ogni articolo"
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr "Dati iniziali dello stock"
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte"
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr "Dati iniziali del fornitore"
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr "Consentire la creazione dei dati iniziali del fornitore quando si aggiunge una nuova parte"
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr "Formato di visualizzazione del nome articolo"
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr "Formato per visualizzare il nome dell'articolo"
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr "Icona predefinita Categoria Articolo"
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)"
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr "Prezzi Decimali"
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr "Numero di cifre decimali da visualizzare quando si visualizzano i dati dei prezzi"
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr "Usa Prezzi Fornitore"
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi"
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr "Ignora la Cronologia Acquisti"
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo"
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr "Utilizzare i prezzi degli articoli in stock"
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi"
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr "Età dei prezzi degli articoli in stock"
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni"
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr "Utilizza Variazione di Prezzo"
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi"
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr "Solo Varianti Attive"
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti"
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr "Tempo di Riproduzione Prezzi"
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente"
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr "giorni"
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr "Prezzi interni"
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr "Abilita prezzi interni per gli articoli"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr "Sovrascrivi Prezzo Interno"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr "Abilita stampa etichette"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr "Abilita la stampa di etichette dall'interfaccia web"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr "Etichetta Immagine DPI"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette"
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr "Abilita Report di Stampa"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr "Abilita generazione di report di stampa"
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Modalità Debug"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr "Genera report in modalità debug (output HTML)"
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "Dimensioni pagina"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "Dimensione predefinita della pagina per i report PDF"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr "Abilita Rapporto di Prova"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr "Abilita generazione di stampe di prova"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr "Allega Rapporto di Prova"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Quando si stampa un rapporto di prova, allegare una copia del rapporto di prova all'elemento di magazzino associato"
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr "Seriali Unici Globali"
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci"
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr "Auto Riempimento Numeri Seriali"
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr "Auto riempimento numeri nel modulo"
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr "Elimina scorte esaurite"
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr "Determina il comportamento predefinito quando un elemento stock è esaurito"
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr "Modello Codice a Barre"
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock"
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr "Scadenza giacenza"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr "Abilita funzionalità di scadenza della giacenza"
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr "Vendi giacenza scaduta"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr "Consenti la vendita di stock scaduti"
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr "Tempo di Scorta del Magazzino"
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza"
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr "Crea giacenza scaduta"
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr "Permetti produzione con stock scaduto"
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr "Controllo della proprietà della giacenza"
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza"
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr "Icona Predefinita Ubicazione di Magazzino"
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)"
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr "Modello Di Riferimento Ordine Di Produzione"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr "Modello Di Riferimento Ordine Di Vendita"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr "Spedizione Predefinita Ordine Di Vendita"
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr "Modifica Ordini Di Vendita Completati"
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati"
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr "Modello di Riferimento Ordine D'Acquisto"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr "Modifica Ordini Di Acquisto Completati"
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati"
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr "Abilita password dimenticata"
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr "Abilita la funzione password dimenticata nelle pagine di accesso"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr "Abilita registrazione"
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr "SSO abilitato"
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr "Abilita SSO nelle pagine di accesso"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr "Abilita registrazione SSO"
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso"
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "Email richiesta"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr "Riempimento automatico degli utenti SSO"
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO"
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr "Posta due volte"
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr "Password due volte"
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr "Domini consentiti"
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr "Limita la registrazione a determinati domini (separati da virgola, che cominciano con @)"
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr "Gruppo iscrizione"
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr "Gruppo a cui i nuovi utenti vengono assegnati al momento della registrazione"
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr "Applica MFA"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr "Gli utenti devono utilizzare la sicurezza a due fattori."
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr "Controlla i plugin all'avvio"
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore"
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr "Controlla le firme del plugin"
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr "Controlla e mostra le firme per i plugin"
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr "Abilita l'integrazione URL"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr "Attiva plugin per aggiungere percorsi URL"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr "Attiva integrazione navigazione"
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr "Abilita i plugin per l'integrazione nella navigazione"
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr "Abilita l'app integrata"
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr "Abilita plugin per aggiungere applicazioni"
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr "Abilita integrazione pianificazione"
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr "Abilita i plugin per eseguire le attività pianificate"
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr "Abilita eventi integrati"
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr "Abilita plugin per rispondere agli eventi interni"
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr "Funzionalità Dell'Inventario"
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr "Abilita la funzionalità d'inventario per la registrazione dei livelli di magazzino e il calcolo del valore di magazzino"
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr "Inventario periodico automatico"
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr "Numero di giorni tra la registrazione automatica dell'inventario (imposta 0 per disabilitare)"
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr "Cancella Vecchi Report"
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni"
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole"
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr "Mostra articoli sottoscritti"
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr "Mostra gli articoli sottoscritti nella homepage"
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr "Mostra le categorie sottoscritte"
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr "Mostra le categorie dei componenti sottoscritti nella homepage"
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Mostra ultimi articoli"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Mostra gli ultimi articoli sulla homepage"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr "Conteggio Ultimi Articoli"
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr "Numero di articoli da visualizzare sulla pagina indice"
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr "Mostra distinta base non convalidata"
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr "Mostra le distinte base che attendono la convalida sulla homepage"
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr "Mostra le modifiche recenti alle giacenze"
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr "Mostra le giacenze modificate di recente nella homepage"
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr "Recente Conteggio Giacenze"
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr "Numero di giacenze recenti da visualizzare sulla pagina indice"
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr "Mostra disponibilità scarsa delle giacenze"
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr "Mostra disponibilità scarsa degli articoli sulla homepage"
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr "Mostra scorte esaurite"
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage"
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr "Mostra scorte necessarie"
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr "Mostra le scorte degli articoli necessari per la produzione sulla homepage"
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr "Mostra scorte esaurite"
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr "Mostra gli articoli stock scaduti nella home page"
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr "Mostra scorte obsolete"
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr "Mostra gli elementi obsoleti esistenti sulla home page"
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr "Mostra produzioni in attesa"
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr "Mostra produzioni in attesa sulla homepage"
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr "Mostra produzioni in ritardo"
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr "Mostra produzioni in ritardo sulla home page"
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr "Mostra ordini di produzione inevasi"
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr "Mostra ordini di produzione inevasi sulla home page"
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr "Mostra Ordini di Produzione in ritardo"
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr "Mostra Ordini di Produzione in ritardo sulla home page"
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr "Mostra Ordini di Vendita inevasi"
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr "Mostra Ordini di Vendita inevasi sulla home page"
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr "Mostra Ordini di Vendita in ritardo"
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr "Mostra Ordini di Vendita in ritardo sulla home page"
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr "Mostra Notizie"
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr "Mostra notizie sulla home page"
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
-#: common/models.py:1747
+#: common/models.py:1795
+msgid "Default label printer"
+msgstr ""
+
+#: common/models.py:1796
+msgid "Configure which label printer should be selected by default"
+msgstr ""
+
+#: common/models.py:1802
msgid "Inline report display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1748
+#: common/models.py:1803
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
-#: common/models.py:1754
+#: common/models.py:1809
msgid "Search Parts"
msgstr "Cerca Articoli"
-#: common/models.py:1755
+#: common/models.py:1810
msgid "Display parts in search preview window"
msgstr "Mostra articoli della ricerca nella finestra di anteprima"
-#: common/models.py:1761
+#: common/models.py:1816
msgid "Seach Supplier Parts"
msgstr "Trova Articoli del Fornitore"
-#: common/models.py:1762
+#: common/models.py:1817
msgid "Display supplier parts in search preview window"
msgstr "Mostra articoli del fornitore nella finestra di anteprima"
-#: common/models.py:1768
+#: common/models.py:1823
msgid "Search Manufacturer Parts"
msgstr "Cerca Articoli Produttore"
-#: common/models.py:1769
+#: common/models.py:1824
msgid "Display manufacturer parts in search preview window"
msgstr "Mostra articoli del produttore nella finestra di anteprima"
-#: common/models.py:1775
+#: common/models.py:1830
msgid "Hide Inactive Parts"
msgstr "Nascondi Articoli Inattivi"
-#: common/models.py:1776
+#: common/models.py:1831
msgid "Excluded inactive parts from search preview window"
msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca"
-#: common/models.py:1782
+#: common/models.py:1837
msgid "Search Categories"
msgstr "Cerca Categorie"
-#: common/models.py:1783
+#: common/models.py:1838
msgid "Display part categories in search preview window"
msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca"
-#: common/models.py:1789
+#: common/models.py:1844
msgid "Search Stock"
msgstr "Cerca Giacenze"
-#: common/models.py:1790
+#: common/models.py:1845
msgid "Display stock items in search preview window"
msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca"
-#: common/models.py:1796
+#: common/models.py:1851
msgid "Hide Unavailable Stock Items"
msgstr "Nascondi elementi non disponibili"
-#: common/models.py:1797
+#: common/models.py:1852
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Escludi gli elementi stock che non sono disponibili dalla finestra di anteprima di ricerca"
-#: common/models.py:1803
+#: common/models.py:1858
msgid "Search Locations"
msgstr "Cerca Ubicazioni"
-#: common/models.py:1804
+#: common/models.py:1859
msgid "Display stock locations in search preview window"
msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca"
-#: common/models.py:1810
+#: common/models.py:1865
msgid "Search Companies"
msgstr "Cerca Aziende"
-#: common/models.py:1811
+#: common/models.py:1866
msgid "Display companies in search preview window"
msgstr "Mostra le aziende nella finestra di anteprima di ricerca"
-#: common/models.py:1817
+#: common/models.py:1872
msgid "Search Build Orders"
msgstr "Cerca Ordini Di Produzione"
-#: common/models.py:1818
+#: common/models.py:1873
msgid "Display build orders in search preview window"
msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca"
-#: common/models.py:1824
+#: common/models.py:1879
msgid "Search Purchase Orders"
msgstr "Cerca Ordini di Acquisto"
-#: common/models.py:1825
+#: common/models.py:1880
msgid "Display purchase orders in search preview window"
msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca"
-#: common/models.py:1831
+#: common/models.py:1886
msgid "Exclude Inactive Purchase Orders"
msgstr "Escludi Ordini D'Acquisto Inattivi"
-#: common/models.py:1832
+#: common/models.py:1887
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca"
-#: common/models.py:1838
+#: common/models.py:1893
msgid "Search Sales Orders"
msgstr "Cerca Ordini Di Vendita"
-#: common/models.py:1839
+#: common/models.py:1894
msgid "Display sales orders in search preview window"
msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca"
-#: common/models.py:1845
+#: common/models.py:1900
msgid "Exclude Inactive Sales Orders"
msgstr "Escludi Ordini Di Vendita Inattivi"
-#: common/models.py:1846
+#: common/models.py:1901
msgid "Exclude inactive sales orders from search preview window"
msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca"
-#: common/models.py:1852
+#: common/models.py:1907
msgid "Search Preview Results"
msgstr "Risultati Dell'Anteprima Di Ricerca"
-#: common/models.py:1853
+#: common/models.py:1908
msgid "Number of results to show in each section of the search preview window"
msgstr "Numero di risultati da visualizzare in ciascuna sezione della finestra di anteprima della ricerca"
-#: common/models.py:1859
+#: common/models.py:1914
msgid "Show Quantity in Forms"
msgstr "Mostra quantità nei moduli"
-#: common/models.py:1860
+#: common/models.py:1915
msgid "Display available part quantity in some forms"
msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli"
-#: common/models.py:1866
+#: common/models.py:1921
msgid "Escape Key Closes Forms"
-msgstr "Il tasto Escape chiude i moduli"
+msgstr "Il tasto Esc chiude i moduli"
-#: common/models.py:1867
+#: common/models.py:1922
msgid "Use the escape key to close modal forms"
-msgstr "Utilizzare il tasto di escape per chiudere i moduli modali"
+msgstr "Utilizzare il tasto Esc per chiudere i moduli modali"
-#: common/models.py:1873
+#: common/models.py:1928
msgid "Fixed Navbar"
msgstr "Barra di navigazione fissa"
-#: common/models.py:1874
+#: common/models.py:1929
msgid "The navbar position is fixed to the top of the screen"
msgstr "La posizione della barra di navigazione è fissata nella parte superiore dello schermo"
-#: common/models.py:1880
+#: common/models.py:1935
msgid "Date Format"
msgstr "Formato Data"
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr "Formato predefinito per visualizzare le date"
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Programmazione Prodotto"
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr "Mostra informazioni sulla pianificazione del prodotto"
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Inventario Prodotto"
-#: common/models.py:1903
-msgid "Display part stocktake information"
-msgstr "Mostra informazioni inventario prodotto"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
+msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)"
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr "Lunghezza Stringa Tabella"
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste della tabella"
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr "Quantità prezzo limite"
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Prezzo"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr "Prezzo unitario in quantità specificata"
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr "Scadenza"
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr "Scadenza in cui questa notifica viene ricevuta"
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr "Nome per questa notifica"
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr "Attivo"
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr "È questa notifica attiva"
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr "Token"
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr "Token per l'accesso"
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr "Segreto"
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr "Segreto condiviso per HMAC"
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr "ID Messaggio"
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr "Identificatore unico per questo messaggio"
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr "Host"
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr "Host da cui questo messaggio è stato ricevuto"
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr "Intestazione"
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr "Intestazione di questo messaggio"
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr "Contenuto"
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr "Contenuto di questo messaggio"
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr "Scadenza in cui questo messaggio è stato ricevuto"
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr "Lavorato il"
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr "Il lavoro su questo messaggio è terminato?"
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr "Id"
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr "Titolo"
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr "Pubblicato"
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autore"
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr "Riepilogo"
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr "Letto"
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr "Queste notizie sull'elemento sono state lette?"
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Carica file"
@@ -3023,7 +3073,7 @@ msgstr "Carica file"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Abbina Campi"
@@ -3061,7 +3111,7 @@ msgstr "Descrizione dell'azienda"
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Sito Web"
@@ -3106,7 +3156,7 @@ msgstr "Punto di contatto"
msgid "Link to external company information"
msgstr "Collegamento alle informazioni aziendali esterne"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Immagine"
@@ -3138,229 +3188,219 @@ msgstr "è un produttore"
msgid "Does this company manufacture parts?"
msgstr "Questa azienda produce articoli?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Valuta"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Valuta predefinita utilizzata per questa azienda"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr "Articolo di base"
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "Seleziona articolo"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Produttore"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Seleziona Produttore"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr "Codice articolo produttore (MPN)"
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "Codice articolo produttore"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr "URL dell'articolo del fornitore"
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr "Descrizione articolo costruttore"
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Codice articolo produttore"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "Nome parametro"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Valore"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "Valore del parametro"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "Unità"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "Unità parametri"
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo"
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Fornitore"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Seleziona fornitore"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr "SKU"
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr "Unità di giacenza magazzino fornitore"
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr "Selezionare un produttore"
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr "URL dell'articolo del fornitore"
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr "Descrizione articolo fornitore"
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Nota"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr "costo base"
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "Confezionamento"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr "Imballaggio del pezzo"
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr "Quantità Confezione"
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr "Quantità unitaria contenuta in una singola confezione"
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr "multiplo"
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr "Ordine multiplo"
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr "Disponibile"
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr "Quantità disponibile dal fornitore"
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr "Disponibilità Aggiornata"
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità"
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr "Valuta predefinita utilizzata per questo fornitore"
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Codice valuta"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "Azienda"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr "Articolo di base"
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "Seleziona articolo"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Produttore"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Seleziona Produttore"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr "Codice articolo produttore (MPN)"
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "Codice articolo produttore"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr "URL dell'articolo del fornitore"
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr "Descrizione articolo costruttore"
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Codice articolo produttore"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "Nome parametro"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Valore"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "Valore del parametro"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "Unità"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "Unità parametri"
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo"
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Fornitore"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Seleziona fornitore"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr "SKU"
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr "Unità di giacenza magazzino fornitore"
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr "Selezionare un produttore"
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr "URL dell'articolo del fornitore"
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr "Descrizione articolo fornitore"
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Nota"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr "costo base"
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "Confezionamento"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr "Imballaggio del pezzo"
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr "Quantità Confezione"
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr "Quantità unitaria contenuta in una singola confezione"
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr "multiplo"
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr "Ordine multiplo"
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr "Disponibile"
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr "Quantità disponibile dal fornitore"
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr "Disponibilità Aggiornata"
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità"
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr "Valuta predefinita utilizzata per questo fornitore"
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Crea ordine d'acquisto"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr "Modifica le informazioni dell'azienda"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "Modifica azienda"
@@ -3401,14 +3441,14 @@ msgstr "Scarica immagine dall'URL"
msgid "Delete image"
msgstr "Elimina immagine"
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Cliente"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "Telefono"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr "Rimuovi immagine"
@@ -3430,19 +3470,19 @@ 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:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Carica immagine"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "Download Immagine"
@@ -3458,13 +3498,13 @@ msgstr "Crea nuovo fornitore"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Nuovo fornitore articolo"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Articoli ordinati"
@@ -3487,7 +3527,7 @@ msgstr "Articoli Produttore"
msgid "Create new manufacturer part"
msgstr "Crea nuovo articolo produttore"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Nuovo Produttore Articoli"
@@ -3501,11 +3541,11 @@ msgstr "Giacenza Fornitore"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Ordine di acquisto"
@@ -3524,11 +3564,11 @@ msgstr "Nuovo Ordine di Acquisto"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Ordini di Vendita"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "Nuovo Ordine di Vendita"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr "Assegna Giacenza"
@@ -3558,17 +3598,17 @@ msgstr "Produttori"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Articoli ordinati"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "Modifica articolo produttore"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "Cancella articolo produttore"
@@ -3583,34 +3623,34 @@ msgstr "Nessuna informazione sul produttore disponibile"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Fornitori"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr "Elimina articolo fornitore"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "Elimina"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parametri"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr "Elimina il parametro"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr "Aggiungi parametro"
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr "Elementi in Giacenza Impegnati"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Articolo Fornitore"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr "Azioni Barcode"
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "Mostra QR Code"
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr "Scollega Codice a Barre"
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr "Collega Codice a Barre"
@@ -3685,7 +3725,7 @@ msgstr "Azioni Articolo Fornitore"
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "Ordine Articolo"
@@ -3696,13 +3736,13 @@ msgstr "Aggiorna Disponibilità"
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr "Modifica fornitore articolo"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr "Duplica Articoli Fornitore"
@@ -3717,7 +3757,7 @@ msgstr "Elimina Articolo Fornitore"
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr "Codice a Barre Identificativo"
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr "Nessuna informazione sul fornitore disponibile"
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Fornitore articolo in giacenza"
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr "Crea nuova allocazione magazzino"
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr "Nuovo Elemento in giacenza"
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Ordini articoli fornitore"
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr "Informazioni Prezzi"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr "Aggiungi riduzione prezzo"
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr "Codice Articolo Fornitore QR"
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr "Collega Codice a Barre con l'Articolo Fornitore"
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr "Aggiorna Disponibilità Articolo"
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Magazzino"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Articoli in magazzino"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Ordini"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr "Prezzo articolo del fornitore"
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "Prezzi"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Articoli in magazzino"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "Nuovo Fornitore"
@@ -3828,10 +3848,6 @@ msgstr "Aziende"
msgid "New Company"
msgstr "Nuova Azienda"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr "Stock Item QR Code"
-
#: label/models.py:102
msgid "Label name"
msgstr "Nome etichetta"
@@ -3848,7 +3864,7 @@ msgstr "Etichetta"
msgid "Label template file"
msgstr "File modello etichetta"
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr "Abilitato"
@@ -3872,7 +3888,7 @@ msgstr "Altezza [mm]"
msgid "Label height, specified in mm"
msgstr "Larghezza dell'etichetta, specificata in mm"
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr "Formato del nome file"
@@ -3885,7 +3901,7 @@ 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:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Filtri"
@@ -3897,447 +3913,443 @@ msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)"
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr "Nessun ordine di acquisto corrispondente trovato"
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Ordine D'Acquisto"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr "Sconosciuto"
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr "Descrizione ordine"
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr "Collegamento a un sito web esterno"
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr "Creato Da"
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr "Utente o gruppo responsabile di questo ordine"
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr "Note ordine"
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr "Riferimento ordine"
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr "Stato ordine d'acquisto"
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "Azienda da cui sono stati ordinati gli articoli"
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr "Riferimento fornitore"
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr "Codice di riferimento ordine fornitore"
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr "ricevuto da"
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr "Data di emissione"
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr "Data di emissione ordine"
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Data di consegna programmata"
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data."
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr "Data ordine completato"
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione"
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr "La quantità deve essere un numero positivo"
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr "Azienda da cui sono stati ordinati gli elementi"
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr "Riferimento Cliente "
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr "Codice di riferimento Ordine del Cliente"
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Data di completamento dell'ordine. Dopo tale data l'ordine sarà in ritardo."
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr "Data di spedizione"
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr "spedito da"
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr "L'ordine non può essere completato perché nessun articolo è stato assegnato"
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr "Solo un ordine in sospeso può essere contrassegnato come completato"
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete"
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti"
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr "Quantità Elementi"
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr "Riferimento Linea Elemento"
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr "Note linea elemento"
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)"
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr "Contesto"
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr "Contesto aggiuntivo per questa voce"
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr "Prezzo unitario"
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr "L'articolo del fornitore deve corrispondere al fornitore"
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr "eliminato"
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr "Ordine"
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr "Articolo Fornitore"
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr "Ricevuto"
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr "Numero di elementi ricevuti"
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Prezzo di Acquisto"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr "Prezzo di acquisto unitario"
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?"
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita"
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita"
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr "Prezzo di Vendita"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr "Prezzo unitario di vendita"
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr "Quantità spedita"
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr "Data di spedizione"
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr "Verificato Da"
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr "Utente che ha controllato questa spedizione"
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr "Spedizione"
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr "Numero di spedizione"
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr "Note di spedizione"
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr "Numero di monitoraggio"
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr "Informazioni di monitoraggio della spedizione"
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr "Numero Fattura"
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr "Numero di riferimento per la fattura associata"
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr "La spedizione è già stata spedita"
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr "La spedizione non ha articoli di stock assegnati"
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr "L'elemento di magazzino non è stato assegnato"
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso"
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr "Impossibile allocare stock a una riga senza un articolo"
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza"
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr "La quantità deve essere 1 per l'elemento serializzato"
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr "L'ordine di vendita non corrisponde alla spedizione"
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr "La spedizione non corrisponde all'ordine di vendita"
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr "Linea"
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr "Riferimento della spedizione ordine di vendita"
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr "Elemento"
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr "Seleziona elemento stock da allocare"
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr "Inserisci la quantità assegnata alla giacenza"
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr "Valuta prezzo"
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr "L'ordine non può essere cancellato"
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti"
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr "L'ordine ha elementi di riga incompleti"
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr "L'ordine non è aperto"
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr "Valuta prezzo d'acquisto"
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr "L'articolo del fornitore deve essere specificato"
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr "L'ordine di acquisto deve essere specificato"
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto"
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr "L'ordine di acquisto deve essere abbinato al fornitore"
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr "Elemento Riga"
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr "L'elemento di riga non corrisponde all'ordine di acquisto"
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti"
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr "Inserisci il codice univoco per gli articoli in arrivo"
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo"
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr "Campo identificativo univoco"
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr "Il codice a barre è già in uso"
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili"
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr "Gli elementi di linea devono essere forniti"
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr "La destinazione deve essere specificata"
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr "I valori dei codici a barre forniti devono essere univoci"
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr "Valuta prezzo di vendita"
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr "Nessun dettaglio di spedizione fornito"
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr "L'elemento di riga non è associato a questo ordine"
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr "La quantità deve essere positiva"
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr "Inserisci i numeri di serie da assegnare"
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr "La spedizione è già stata spedita"
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr "La spedizione non è associata con questo ordine"
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie"
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr "I seguenti numeri di serie sono già assegnati"
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Elimina riga"
@@ -4566,7 +4578,7 @@ msgstr "Elementi D'Ordine D'Acquisto"
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr "Aggiungi Elemento Riga"
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr "Stampa lista d'imballaggio"
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr "Spedizioni Completate"
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr "Completa Ordine Di Vendita"
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Questo Ordine di Vendita non è stato assegnato completamente"
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr "Riferimento Cliente"
@@ -4636,10 +4648,6 @@ msgstr "Riferimento Cliente"
msgid "Completed Shipments"
msgstr "Spedizioni Completate"
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr "Modifica Ordine di Vendita"
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Elementi Ordine di Vendita"
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr "Spedizione in sospeso"
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr "Azioni"
@@ -4681,174 +4689,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr "Codice Articolo"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr "Nome Articolo"
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr "Descrizione Articolo"
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr "IPN - Numero di riferimento interno"
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr "Revisione"
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Parole Chiave"
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr "Id Categoria"
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr "Nome Categoria"
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr "Posizione Predefinita ID"
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr "ID Fornitore Predefinito"
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr "Scorta Minima"
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr "In magazzino"
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "Ordinato"
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Utilizzato In"
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr "Allocato"
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr "In Costruzione"
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr "Costo Minimo"
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr "Costo Massimo"
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr "ID principale"
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr "Nome Principale"
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr "Percorso Categoria"
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Articoli"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr "Livello Distinta Base"
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr "ID Elemento Distinta Base"
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr "IPN Principale"
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr "IPN Articolo"
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr "Prezzo Minimo"
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr "Prezzo Massimo"
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr "Ordine D'Acquisto In Arrivo"
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr "Ordine di Vendita in Uscita"
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr "Giacenza prodotta dall'Ordine di Costruzione"
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr "Giacenza richiesta per l'Ordine di Produzione"
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr "Valido"
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr "Convalida l'intera Fattura dei Materiali"
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr "Questa opzione deve essere selezionata"
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr "Posizione Predefinita"
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr "Giacenze Totali"
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr "Disponibilità in magazzino"
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr "Digita la quantità per il calcolo del prezzo"
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "Posizione predefinita per gli articoli di questa categoria"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr "Strutturale"
-
-#: part/models.py:124
-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:128
-msgid "Default keywords"
-msgstr "Keywords predefinite"
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr "Parole chiave predefinite per gli articoli in questa categoria"
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr "Icona"
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr "Icona (facoltativa)"
-
-#: part/models.py:153
-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:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria Articoli"
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "Categorie Articolo"
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "Posizione predefinita per gli articoli di questa categoria"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr "Strutturale"
+
+#: part/models.py:129
+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:133
+msgid "Default keywords"
+msgstr "Keywords predefinite"
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr "Parole chiave predefinite per gli articoli in questa categoria"
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr "Icona"
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr "Icona (facoltativa)"
+
+#: part/models.py:158
+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:466
msgid "Invalid choice for parent part"
msgstr "Scelta non valida per l'articolo principale"
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, 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:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr "Esiste già un elemento stock con questo numero seriale"
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo"
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Un articolo con questo Nome, IPN e Revisione esiste già."
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!"
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr "Nome articolo"
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr "È Template"
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Quest'articolo è un articolo di template?"
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Questa parte è una variante di un altro articolo?"
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr "Variante Di"
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "Descrizione articolo"
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr "Categoria"
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr "Categoria articolo"
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "Numero Dell'articolo Interno"
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Numero di revisione o di versione"
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr "Dove viene normalmente immagazzinato questo articolo?"
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr "Fornitore predefinito"
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr "Articolo fornitore predefinito"
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr "Scadenza Predefinita"
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo"
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr "Livello minimo di giacenza consentito"
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr "Unita di misura per questo articolo"
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Questo articolo può essere costruito da altri articoli?"
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr "Questo articolo può essere utilizzato per costruire altri articoli?"
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "Questo articolo ha il tracciamento per gli elementi unici?"
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Quest'articolo può essere acquistato da fornitori esterni?"
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Questo pezzo può essere venduto ai clienti?"
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Quest'articolo è attivo?"
-#: part/models.py:991
+#: part/models.py:960
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:993
+#: part/models.py:962
msgid "Part notes"
msgstr "Note Articolo"
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr "Somma di controllo Distinta Base"
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr "Somma di controllo immagazzinata Distinta Base"
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr "Distinta Base controllata da"
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr "Data di verifica Distinta Base"
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr "Creazione Utente"
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr "Utente responsabile di questo articolo"
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr "Ultimo Inventario"
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr "Vendita multipla"
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr "Valuta utilizzata per calcolare i prezzi"
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr "Costo Minimo Distinta Base"
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr "Costo minimo dei componenti dell'articolo"
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr "Costo Massimo Distinta Base"
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr "Costo massimo dei componenti dell'articolo"
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr "Importo Acquisto Minimo"
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr "Costo minimo di acquisto storico"
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr "Importo massimo acquisto"
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr "Costo massimo di acquisto storico"
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr "Prezzo Interno Minimo"
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr "Costo minimo basato su interruzioni di prezzo interne"
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr "Prezzo Interno Massimo"
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr "Costo massimo basato su interruzioni di prezzo interne"
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr "Prezzo Minimo Fornitore"
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr "Prezzo minimo articolo da fornitori esterni"
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr "Prezzo Massimo Fornitore"
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni"
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr "Variazione di costo minimo"
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr "Costo minimo calcolato di variazione dell'articolo"
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr "Massima variazione di costo"
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr "Costo massimo calcolato di variazione dell'articolo"
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr "Costo minimo totale calcolato"
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr "Costo massimo totale calcolato"
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr "Prezzo Di Vendita Minimo"
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo"
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr "Prezzo Di Vendita Massimo"
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo"
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr "Costo Di Vendita Minimo"
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr "Prezzo storico minimo di vendita"
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr "Costo Di Vendita Minimo"
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr "Prezzo storico massimo di vendita"
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr "Articolo per l'inventario"
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr "Contatore Elemento"
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr "Numero di scorte individuali al momento dell'inventario"
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr "Totale delle scorte disponibili al momento dell'inventario"
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr "Data"
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr "Data in cui è stato effettuato l'inventario"
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr "Note aggiuntive"
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr "Utente che ha eseguito questo inventario"
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr "Costo Minimo Scorta"
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr "Costo minimo stimato di magazzino a disposizione"
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr "Costo Massimo Scorte"
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr "Costo massimo stimato di magazzino a disposizione"
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr "Report"
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr "File Report Inventario (generato internamente)"
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr "Conteggio Articolo"
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr "Numero di articoli oggetto d'inventario"
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr "Utente che ha richiesto questo report inventario"
+
+#: part/models.py:3130
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:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr "Una prova con questo nome esiste già per questo articolo"
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr "Nome Test"
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr "Inserisci un nome per la prova"
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr "Inserisci descrizione per questa prova"
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr "Richiesto"
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr "Questa prova è necessaria per passare?"
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr "Valore richiesto"
-#: part/models.py:3135
+#: part/models.py:3186
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:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr "Allegato Richiesto"
-#: part/models.py:3141
+#: part/models.py:3192
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:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr "Il nome del modello del parametro deve essere univoco"
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr "Nome Parametro"
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr "Unità Parametri"
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr "Descrizione del parametro"
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr "Articolo principale"
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr "Modello Parametro"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr "Dati"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr "Valore del Parametro"
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr "Valore Predefinito"
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr "Valore Parametro Predefinito"
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr "ID articolo o nome articolo"
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr "Valore ID articolo univoco"
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr "Valore IPN articolo"
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr "Livello"
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr "Livello distinta base"
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr "Seleziona articolo principale"
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr "Articolo subordinato"
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr "Seleziona l'articolo da utilizzare nella Distinta Base"
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr "Quantità Distinta Base per questo elemento Distinta Base"
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "Opzionale"
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr "Questo elemento della Distinta Base è opzionale"
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr "Consumabile"
-#: part/models.py:3436
+#: part/models.py:3498
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:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Eccedenza"
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)"
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr "Riferimento Elemento Distinta Base"
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr "Note Elemento Distinta Base"
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr "Codice di controllo"
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr "Codice di controllo Distinta Base"
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Ereditato"
-#: part/models.py:3454
+#: part/models.py:3516
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:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: part/models.py:3460
+#: part/models.py:3522
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:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili"
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr "L'articolo subordinato deve essere specificato"
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr "Elemento Distinta Base Sostituito"
-#: part/models.py:3705
+#: part/models.py:3756
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:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr "Elemento principale Distinta Base"
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr "Sostituisci l'Articolo"
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr "Articolo 1"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr "Articolo 2"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr "Seleziona Prodotto Relativo"
-#: part/models.py:3763
+#: part/models.py:3814
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:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr "La relazione duplicata esiste già"
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr "Valuta di acquisto di questo articolo in stock"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr "Articolo Originale"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr "Seleziona l'articolo originale da duplicare"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr "Copia immagine"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr "Copia immagine dall'articolo originale"
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Copia Distinta Base"
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr "Copia fattura dei materiali dall'articolo originale"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr "Copia parametri"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr "Copia i dati dei parametri dall'articolo originale"
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr "Quantità iniziale"
-#: part/serializers.py:343
+#: part/serializers.py:326
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:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr "Ubicazione Iniziale Magazzino"
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo"
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr "Seleziona il fornitore (o lascia vuoto per saltare)"
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Seleziona il produttore (o lascia vuoto per saltare)"
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr "Codice articolo Produttore"
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr "L'azienda selezionata non è un fornitore valido"
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr "L'azienda selezionata non è un produttore valido"
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già"
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già"
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr "Duplica articolo"
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr "Copia i dati iniziali da un altro Articolo"
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr "Stock iniziale"
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr "Crea Articolo con quantità di scorta iniziale"
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr "Informazioni Fornitore"
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo"
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr "Copia Parametri Categoria"
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr "Copia i parametri dai modelli della categoria articolo selezionata"
+
+#: part/serializers.py:829
+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:835
+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:841
+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:846
+msgid "Generate Report"
+msgstr "Genera Report"
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr "Genera file di report contenente dati di inventario calcolati"
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr "Aggiorna Articoli"
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario"
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr "La funzione Inventario non è abilitata"
+
+#: part/serializers.py:950
msgid "Update"
msgstr "Aggiorna"
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr "Aggiorna i prezzi per questo articolo"
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr "Seleziona l'articolo da cui copiare la distinta base"
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr "Rimuovi Dati Esistenti"
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr "Rimuovi elementi distinta base esistenti prima di copiare"
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr "Includi Ereditato"
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr "Includi gli elementi Distinta Base ereditati da prodotti template"
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr "Salta Righe Non Valide"
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr "Abilita questa opzione per saltare le righe non valide"
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr "Copia Articoli sostitutivi"
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base"
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr "Cancella Distinta Base esistente"
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr "Rimuovi elementi distinta base esistenti prima del caricamento"
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr "Nessuna colonna articolo specificata"
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr "Trovati più articoli corrispondenti"
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr "Nessun articolo corrispondente trovato"
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr "L'articolo non è indicato come componente"
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr "Quantità non fornita"
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr "Quantità non valida"
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr "Almeno un elemento della distinta base è richiesto"
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr "Notifica di magazzino bassa"
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
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/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr "Quantità Totale"
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr "Costo Minimo Totale"
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr "Costo Massimo Totale"
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr "Report Inventario Disponibile"
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr "Un nuovo report di inventario è disponibile per il download"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "Non hai il permesso di modificare la distinta base."
@@ -5680,7 +5797,7 @@ msgstr "La distinta base per %(part)s è stato controllato da %(checker
msgid "The BOM for %(part)s has not been validated."
msgstr "La distinta base per %(part)s non è stata convalidata."
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr "Azioni Distinta Base"
@@ -5688,85 +5805,89 @@ msgstr "Azioni Distinta Base"
msgid "Delete Items"
msgstr "Elimina Elementi"
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr "Esegui inventario per questa categoria articolo"
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr "Sei iscritto alle notifiche di questa categoria"
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr "Sottoscrivi notifiche per questa categoria"
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr "Azioni Categoria"
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr "Modifica categoria"
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr "Modifica Categoria"
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr "Elimina la categoria"
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr "Cancella categoria"
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr "Categoria articolo di livello superiore"
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Sottocategorie"
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "Articoli (incluse le sottocategorie)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr "Crea nuovo articolo"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr "Nuovo articolo"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr "Opzioni"
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr "Imposta categoria"
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr "Imposta Categoria"
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr "Stampa Etichette"
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "Parametri articolo"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr "Crea nuova categoria articoli"
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "Nuova categoria"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr "Crea Categoria Articolo"
@@ -5807,118 +5928,120 @@ msgstr "Aggiorna i dati di pianificazione"
msgid "Refresh"
msgstr "Aggiorna"
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr "Aggiungi informazioni inventario"
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr "Inventario"
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr "Modelli Articoli Test"
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr "Aggiungi Modelli Test"
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr "Assegnazione Ordine Di Vendita"
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr "Note Articolo"
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr "Varianti articolo"
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr "Crea nuova variante"
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr "Nuova variante"
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr "Aggiungi un nuovo parametro"
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr "Articoli correlati"
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr "Aggiungi Correlato"
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr "Distinta base"
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr "Esporta azioni"
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Esporta Distinta Base"
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr "Stampa il report Distinta Base"
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr "Carica Distinta Base"
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr "Valida Distinta Base"
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr "Aggiungi elemento Distinta Base"
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr "Assembla"
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr "Articoli prodotti"
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr "Costruisci le ubicazioni degli ordini"
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr "Fornitori articoli"
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr "Componenti Produttori"
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr "Elimina articoli produttore"
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr "Articoli correlati"
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr "Aggiungi articolo correlato"
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr "Aggiungi risultato modello test"
@@ -5953,13 +6076,13 @@ msgstr "Scarica il Modello Articolo Importato"
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr "Formato"
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr "Seleziona il formato del file"
@@ -5981,7 +6104,7 @@ msgstr "Scollega Codice a Barre"
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "Stampa Etichetta"
@@ -5991,7 +6114,7 @@ msgstr "Mostra informazioni sui prezzi"
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr "Azioni magazzino"
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "L'Articolo è virtuale (non è un articolo fisico)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr "Inattivo"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr "Mostra i Dettagli Articolo"
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr "Questo articolo è una variante di %(link)s"
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr "Assegnato agli Ordini di Produzione"
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr "Assegnato agli Ordini di Vendita"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr "Puoi produrre"
@@ -6084,44 +6207,48 @@ msgstr "Puoi produrre"
msgid "Minimum stock level"
msgstr "Livello minimo di giacenza"
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr "Fascia di Prezzo"
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr "Ultimo Numero Di Serie"
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr "Ricerca per numero seriale"
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr "QR Code Articolo"
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr "Collega il codice a barre all'Articolo"
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr "Calcola"
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr "Rimuovi l'immagine associata all'articolo"
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr "Nessuna immagine corrispondente trovata"
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr "Nascondi Dettagli dell'Articolo"
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr "Prezzo del Fornitore"
@@ -6136,6 +6263,7 @@ msgstr "Costo Unitario"
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr "Costo Totale"
@@ -6176,11 +6304,27 @@ msgstr "Quantità Programmata"
msgid "Variants"
msgstr "Varianti"
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Magazzino"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "Prezzi"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr "Programmazione"
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr "Modelli test"
@@ -6196,11 +6340,11 @@ msgstr "Panoramica prezzi"
msgid "Refresh Part Pricing"
msgstr "Aggiorna prezzo articolo"
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr "Ultimo aggiornamento"
@@ -6263,8 +6407,8 @@ msgstr "Prezzo di Vendita"
msgid "Add Sell Price Break"
msgstr "Aggiungi Prezzo Ribassato di Vendita"
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr "Nessuna giacenza"
@@ -6327,32 +6471,28 @@ msgstr "Database sconosciuto"
msgid "{title} v{version}"
msgstr "{title} v{version}"
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr "Riferimenti Corrispondenza"
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr "Impossibile importare l'articolo {name} perché non c'è nessuna categoria assegnata"
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr "QR Code Articolo"
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr "Seleziona l'immagine dell'Articolo"
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr "Immagine articolo aggiornata"
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr "Immagine articolo non trovata"
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr "Prezzo Articolo"
@@ -6441,145 +6581,145 @@ msgstr "Questo URL è stato utilizzato per inviare messaggi a un canale rallenta
#: plugin/builtin/integration/core_notifications.py:162
msgid "Open link"
-msgstr ""
+msgstr "Apri collegamento"
#: plugin/models.py:33
msgid "Plugin Metadata"
-msgstr ""
+msgstr "Metadati Plugin"
#: plugin/models.py:34
msgid "JSON metadata field, for use by external plugins"
-msgstr ""
+msgstr "Campo di metadati JSON, da utilizzare con plugin esterni"
#: plugin/models.py:80
msgid "Plugin Configuration"
-msgstr ""
+msgstr "Configurazione Plugin"
#: plugin/models.py:81
msgid "Plugin Configurations"
-msgstr ""
+msgstr "Configurazioni Plugin"
#: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61
msgid "Key"
-msgstr ""
+msgstr "Key"
#: plugin/models.py:87
msgid "Key of plugin"
-msgstr ""
+msgstr "Key dei plugin"
#: plugin/models.py:95
msgid "PluginName of the plugin"
-msgstr ""
+msgstr "PluginName del plugin"
#: plugin/models.py:101
msgid "Is the plugin active"
-msgstr ""
+msgstr "Il plugin è attivo"
#: plugin/models.py:133 templates/InvenTree/settings/plugin_details.html:47
msgid "Unvailable"
-msgstr ""
+msgstr "Non disponibile"
#: plugin/models.py:164
msgid "Sample plugin"
-msgstr ""
+msgstr "Plugin di esempio"
#: plugin/models.py:173
msgid "Builtin Plugin"
-msgstr ""
+msgstr "Plugin Integrato"
#: plugin/models.py:198 templates/InvenTree/settings/plugin_settings.html:10
msgid "Plugin"
-msgstr ""
+msgstr "Plugin"
#: plugin/models.py:263
msgid "Method"
-msgstr ""
+msgstr "Metodo"
#: plugin/plugin.py:257
msgid "No author found"
-msgstr ""
+msgstr "Nessun autore trovato"
#: plugin/plugin.py:269
msgid "No date found"
-msgstr ""
+msgstr "Nessuna data trovata"
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
-msgstr ""
+msgstr "Il plugin `{plg_name}` non è compatibile con l'attuale versione di InvenTree {version.inventreeVersion()}!"
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
-msgstr ""
+msgstr "Il plugin richiede almeno la versione {plg_i.MIN_VERSION}"
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
-msgstr ""
+msgstr "Il plugin richiede al massimo la versione {plg_i.MAX_VERSION}"
#: plugin/samples/integration/sample.py:39
msgid "Enable PO"
-msgstr ""
+msgstr "Abilita PO"
#: plugin/samples/integration/sample.py:40
msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
+msgstr "Abilita funzionalità PO nell'interfaccia InvenTree"
#: plugin/samples/integration/sample.py:45
msgid "API Key"
-msgstr ""
+msgstr "API Key"
#: plugin/samples/integration/sample.py:46
msgid "Key required for accessing external API"
-msgstr ""
+msgstr "Key richiesta per accedere alle API esterne"
#: plugin/samples/integration/sample.py:49
msgid "Numerical"
-msgstr ""
+msgstr "Numerico"
#: plugin/samples/integration/sample.py:50
msgid "A numerical setting"
-msgstr ""
+msgstr "Un'impostazione numerica"
#: plugin/samples/integration/sample.py:55
msgid "Choice Setting"
-msgstr ""
+msgstr "Scegli l'impostazione"
#: plugin/samples/integration/sample.py:56
msgid "A setting with multiple choices"
-msgstr ""
+msgstr "Un'impostazione con scelte multiple"
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
-msgstr ""
+msgstr "URL di origine"
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
-msgstr ""
+msgstr "Fonte per il pacchetto - questo può essere un registro personalizzato o un percorso VCS"
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
-msgstr ""
+msgstr "Nome Pacchetto"
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
-msgstr ""
+msgstr "Nome per il Pacchetto Plugin - può anche contenere un indicatore di versione"
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
-msgstr ""
+msgstr "Conferma installazione plugin"
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
-msgstr ""
+msgstr "Questo plugin verrà installato ora nell'istanza corrente. L'istanza andrà in manutenzione."
#: plugin/serializers.py:103
msgid "Installation not confirmed"
-msgstr ""
+msgstr "Installazione non confermata"
#: plugin/serializers.py:105
msgid "Either packagename of URL must be provided"
-msgstr ""
+msgstr "Deve essere fornito uno dei nomi del pacchetto URL"
#: report/api.py:180
msgid "No valid objects provided to template"
@@ -6588,93 +6728,93 @@ msgstr "Nessun oggetto valido fornito nel modello"
#: report/api.py:216 report/api.py:252
#, python-brace-format
msgid "Template file '{template}' is missing or does not exist"
-msgstr ""
+msgstr "Il file del modello '{template}' è mancante o non esiste"
#: report/api.py:355
msgid "Test report"
-msgstr ""
+msgstr "Report test"
#: report/models.py:153
msgid "Template name"
-msgstr ""
+msgstr "Nome modello"
#: report/models.py:159
msgid "Report template file"
-msgstr ""
+msgstr "File modello di report"
#: report/models.py:166
msgid "Report template description"
-msgstr ""
+msgstr "Descrizione del modello report"
#: report/models.py:172
msgid "Report revision number (auto-increments)"
-msgstr ""
+msgstr "Numero di revisione del rapporto (auto-incrementi)"
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
-msgstr ""
+msgstr "Sequenza per generare i nomi dei file report"
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
-msgstr ""
+msgstr "Modello report abilitato"
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
-msgstr ""
+msgstr "Filtri di ricerca elementi di stock (elenco separato da virgole key=coppia di valori)"
+
+#: report/models.py:288
+msgid "Include Installed Tests"
+msgstr "Includi Test Installati"
#: report/models.py:289
-msgid "Include Installed Tests"
-msgstr ""
-
-#: report/models.py:290
msgid "Include test results for stock items installed inside assembled item"
-msgstr ""
+msgstr "Includi i risultati dei test per gli elementi stock installati all'interno dell'elemento assemblato"
+
+#: report/models.py:336
+msgid "Build Filters"
+msgstr "Filtri di produzione"
#: report/models.py:337
-msgid "Build Filters"
-msgstr ""
-
-#: report/models.py:338
msgid "Build query filters (comma-separated list of key=value pairs"
-msgstr ""
+msgstr "Filtri di ricerca produzione (elenco separato da virgole key=coppia di valori"
+
+#: report/models.py:376
+msgid "Part Filters"
+msgstr "Filtri Articolo"
#: report/models.py:377
-msgid "Part Filters"
-msgstr ""
-
-#: report/models.py:378
msgid "Part query filters (comma-separated list of key=value pairs"
-msgstr ""
+msgstr "Filtri di ricerca articolo (elenco separato da virgole key=coppia di valori"
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr "Ordine di Acquisto filtra la ricerca"
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr "Ordine di Vendita filtra la ricerca"
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr "Snippet"
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr "Report file snippet"
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr "Descrizione file snippet"
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr "Risorsa"
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr "Report file risorsa"
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr "File risorsa descrizione"
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr "Test Report Elemento Stock"
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "Numero Seriale"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr "Risultati Test"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr "Risultato"
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr "Elementi installati"
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr "Seriale"
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr "ID Posizione"
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr "Nome Ubicazione"
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr "Percorso Ubicazione"
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr "ID Elemento Stock"
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr "ID Articolo Fornitore"
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr "ID Fornitore"
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr "Nome Fornitore"
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr "ID Cliente"
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr "Installato In"
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr "ID Costruttore"
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr "ID Ordine Vendita"
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr "ID Ordine D'acquisto"
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr "Data di Scadenza"
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr "La quantità è richiesta"
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr "Deve essere fornita un articolo valido"
-#: stock/api.py:573
+#: stock/api.py:607
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:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr "Proprietario"
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr "Seleziona Owner"
-
-#: stock/models.py:115
-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:158
-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:539
-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:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali"
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr "Il tipo di articolo ('{pf}') deve essere {pe}"
-
-#: stock/models.py:591 stock/models.py:600
-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:592
-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:614
-msgid "Item cannot belong to itself"
-msgstr "L'elemento non può appartenere a se stesso"
-
-#: stock/models.py:620
-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:634
-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:648
-msgid "Parent Stock Item"
-msgstr "Elemento di magazzino principale"
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr "Articolo base"
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino"
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Ubicazione magazzino"
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "Posizioni magazzino"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr "Proprietario"
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr "Seleziona Owner"
+
+#: stock/models.py:121
+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:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+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
+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:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali"
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr "Il tipo di articolo ('{pf}') deve essere {pe}"
+
+#: stock/models.py:603 stock/models.py:612
+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:604
+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:626
+msgid "Item cannot belong to itself"
+msgstr "L'elemento non può appartenere a se stesso"
+
+#: stock/models.py:632
+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:646
+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:660
+msgid "Parent Stock Item"
+msgstr "Elemento di magazzino principale"
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr "Articolo base"
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino"
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr "Dove si trova questo articolo di magazzino?"
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr "Imballaggio di questo articolo di magazzino è collocato in"
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr "Questo elemento è stato installato su un altro elemento?"
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr "Numero di serie per questo elemento"
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr "Codice lotto per questo elemento di magazzino"
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr "Quantità disponibile"
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr "Genera Costruzione"
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr "Costruisci per questo elemento di magazzino"
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr "Origina Ordine di Acquisto"
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr "Ordine d'acquisto per questo articolo in magazzino"
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr "Destinazione Ordine di Vendita"
-#: stock/models.py:763
+#: stock/models.py:775
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:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr "Elimina al esaurimento"
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita"
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr "Note Elemento di magazzino"
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr "Prezzo di acquisto unitario al momento dell’acquisto"
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr "Convertito in articolo"
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr "L'articolo non è impostato come tracciabile"
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr "La quantità deve essere un numero intero"
-#: stock/models.py:1329
+#: stock/models.py:1341
#, 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:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr "I numeri di serie devono essere numeri interi"
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr "La quantità non corrisponde ai numeri di serie"
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Numeri di serie già esistenti: {exists}"
-#: stock/models.py:1412
+#: stock/models.py:1424
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:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr "L'elemento di magazzino è installato in un altro elemento"
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr "L'elemento di magazzino contiene altri elementi"
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr "L'elemento di magazzino è stato assegnato a un cliente"
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr "L'elemento di magazzino è attualmente in produzione"
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr "Il magazzino serializzato non può essere unito"
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr "Duplica elementi di magazzino"
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo"
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore"
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr "I codici di stato dello stock devono corrispondere"
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Le giacenze non possono essere spostate perché non disponibili"
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr "Note d'ingresso"
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr "Il valore deve essere fornito per questo test"
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr "L'allegato deve essere caricato per questo test"
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr "Nome Test"
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr "Risultato Test"
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr "Test valore output"
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr "Risultato della prova allegato"
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr "Note del test"
@@ -7048,128 +7203,128 @@ msgstr "Note del test"
msgid "Serial number is too large"
msgstr "Il numero di serie è troppo grande"
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr "Prezzo di acquisto di questo elemento di magazzino"
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr "Inserisci il numero di elementi di magazzino da serializzare"
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, 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:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr "Inserisci i numeri di serie per i nuovi elementi"
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr "Posizione magazzino di destinazione"
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr "Note opzionali elemento"
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr "Numeri di serie non possono essere assegnati a questo articolo"
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "Numeri di serie già esistenti"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr "Seleziona elementi di magazzino da installare"
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr "Elemento di magazzino non disponibile"
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr "L'articolo selezionato non è nella Fattura dei Materiali"
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr "Posizione di destinazione per gli elementi disinstallati"
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr "Aggiungi nota di transazione (opzionale)"
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino"
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr "L'articolo selezionato non è una valida opzione per la conversione"
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr "Posizione di destinazione per l'elemento restituito"
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr "L'articolo deve essere vendibile"
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr "L'elemento è assegnato a un ordine di vendita"
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr "Elemento assegnato a un ordine di costruzione"
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr "Cliente a cui assegnare elementi di magazzino"
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr "L'azienda selezionata non è un cliente"
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr "Note sull'assegnazione delle scorte"
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr "Deve essere fornito un elenco degli elementi di magazzino"
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr "Note di fusione di magazzino"
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr "Consenti fornitori non corrispondenti"
-#: stock/serializers.py:933
+#: stock/serializers.py:914
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:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr "Consenti stato non corrispondente"
-#: stock/serializers.py:939
+#: stock/serializers.py:920
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:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr "Devono essere riforniti almeno due elementi in magazzino"
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr "Valore di chiave primaria StockItem"
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr "Note sugli spostamenti di magazzino"
@@ -7206,7 +7361,7 @@ msgstr "Aggiungi Dati Di Test"
msgid "Installed Stock Items"
msgstr "Elementi di magazzino installati"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr "Installa Elemento Magazzino"
@@ -7214,7 +7369,7 @@ msgstr "Installa Elemento Magazzino"
msgid "Delete all test results for this stock item"
msgstr "Elimina tutti i risultati del test per questo elemento di magazzino"
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr "Aggiungi Risultato Test"
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr "Scansiona nella posizione"
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr "Impostazioni di stampa"
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr "Azioni adeguamento giacenza"
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr "Conta giacenza"
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr "Serializza magazzino"
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr "Trasferisci giacenza"
@@ -7297,242 +7452,245 @@ msgstr "Modifica elemento di magazzino"
msgid "Delete stock item"
msgstr "Cancella elemento di magazzino"
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr "Elemento principale"
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr "Nessun produttore impostato"
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr "Non sei nell'elenco dei proprietari di questo elemento. Questo elemento di magazzino non può essere modificato."
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr "Sola lettura"
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr "Questo elemento di magazzino è in produzione e non può essere modificato."
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr "Modifica l'elemento di magazzino dalla visualizzazione generata."
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr "Questo elemento di magazzino non ha superato i test richiesti"
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Vendita"
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Produzione"
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Questo elemento di magazzino è di serie - ha un numero di serie unico e la quantità non può essere regolata."
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr "pagina precedente"
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr "Vai al numero di serie precedente"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr "pagina successiva"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr "Vai al numero di serie successivo"
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
-msgstr ""
+msgstr "Quantità Disponibile"
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr "Nessuna posizione impostata"
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
-msgstr ""
+msgstr "Test"
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
+msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s"
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
-msgstr ""
+msgstr "Scaduto"
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
-msgstr ""
+msgstr "Questo Elemento Stock scade il %(item.expiry_date)s"
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
-msgstr ""
+msgstr "Obsoleto"
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr "Nessun inventario eseguito"
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
-msgstr ""
+msgstr "Modifica Stato Magazzino"
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr "Stock Item QR Code"
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:603
-msgid "Select one of the part variants listed below."
-msgstr ""
+msgstr "Collega il codice a barre all'Elemento Stock"
#: 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:609
msgid "Warning"
-msgstr ""
+msgstr "Attenzione"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
-msgstr ""
+msgstr "Questa azione non può essere facilmente annullata"
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
-msgstr ""
+msgstr "Converti Elemento Stock"
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
-msgstr ""
+msgstr "Torna al Magazzino"
#: stock/templates/stock/item_serialize.html:5
msgid "Create serialized items from this stock item."
-msgstr ""
+msgstr "Crea elementi serializzati da questo elemento di magazzino."
#: stock/templates/stock/item_serialize.html:7
msgid "Select quantity to serialize, and unique serial numbers."
-msgstr ""
+msgstr "Seleziona la quantità da serializzare e i numeri di serie univoci."
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr "Esegui inventario per questa ubicazione di magazzino"
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
-msgstr ""
+msgstr "Individua ubicazione di magazzino"
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
-msgstr ""
+msgstr "Scansiona gli elementi in magazzino in questa ubicazione"
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
-msgstr ""
+msgstr "Scansiona Elementi Stock"
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
-msgstr ""
+msgstr "Scansiona il contenitore magazzino in questa posizione"
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
-msgstr ""
+msgstr "Scansiona container"
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr "Azioni posizione"
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "Modifica la posizione"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr "Elimina la posizione"
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr "Posizione stock di livello superiore"
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
-msgstr ""
+msgstr "Proprietario Posizione"
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr "Non sei nell'elenco dei proprietari di questa posizione. Questa posizione di giacenza non può essere modificata."
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr "Sottoallocazioni"
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "Posizioni magazzino"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr "Crea nuova posizione di magazzino"
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "Nuova Posizione"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
-msgstr ""
+msgstr "Container magazzino scansionato in questa posizione"
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr "Codice QR Ubicazione Magazzino"
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
-msgstr ""
+msgstr "Collega il Codice a Barre alla Posizione Magazzino"
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
-msgstr ""
+msgstr "Caricamento..."
#: stock/templates/stock/stock_sidebar.html:5
msgid "Stock Tracking"
-msgstr ""
+msgstr "Rilevamento Stock"
#: stock/templates/stock/stock_sidebar.html:8
msgid "Allocations"
-msgstr ""
+msgstr "Assegnazioni"
#: stock/templates/stock/stock_sidebar.html:20
msgid "Child Items"
-msgstr ""
-
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr "QR Code della posizione magazzino"
+msgstr "Elementi secondari"
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
-msgstr ""
+msgstr "Permesso negato"
#: templates/403.html:15
msgid "You do not have permission to view this page."
-msgstr ""
+msgstr "Non ha i permessi per visualizzare la pagina."
#: templates/403_csrf.html:11
msgid "Authentication Failure"
-msgstr ""
+msgstr "Autenticazione Fallita"
#: templates/403_csrf.html:14
msgid "You have been logged out from InvenTree."
-msgstr ""
+msgstr "Sei stato disconnesso da InvenTree."
#: templates/403_csrf.html:19 templates/navbar.html:142
msgid "Login"
@@ -7540,36 +7698,36 @@ msgstr "Accedi"
#: templates/404.html:6 templates/404.html:12
msgid "Page Not Found"
-msgstr ""
+msgstr "Pagina Non Trovata"
#: templates/404.html:15
msgid "The requested page does not exist"
-msgstr ""
+msgstr "La pagina richiesta non esiste"
#: templates/500.html:6 templates/500.html:12
msgid "Internal Server Error"
-msgstr ""
+msgstr "Errore Interno del Server"
#: templates/500.html:15
#, python-format
msgid "The %(inventree_title)s server raised an internal error"
-msgstr ""
+msgstr "Il server %(inventree_title)s ha rilevato un errore interno"
#: templates/500.html:16
msgid "Refer to the error log in the admin interface for further details"
-msgstr ""
+msgstr "Consultare il log degli errori nell'interfaccia di amministrazione per ulteriori dettagli"
#: templates/503.html:11 templates/503.html:34
msgid "Site is in Maintenance"
-msgstr ""
+msgstr "Il sito è in manutenzione"
#: templates/503.html:40
msgid "The site is currently in maintenance and should be up again soon!"
-msgstr ""
+msgstr "Il sito è attualmente in manutenzione e dovrebbe essere online presto!"
#: templates/InvenTree/index.html:7
msgid "Index"
-msgstr ""
+msgstr "Indice"
#: templates/InvenTree/index.html:88
msgid "Subscribed Parts"
@@ -7585,27 +7743,27 @@ msgstr "Articoli Recenti"
#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
-msgstr ""
+msgstr "Distinta base In Attesa Di Convalida"
#: templates/InvenTree/index.html:145
msgid "Recently Updated"
-msgstr ""
+msgstr "Aggiornamento Recente"
#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
-msgstr ""
+msgstr "Stock esaurito"
#: templates/InvenTree/index.html:178
msgid "Required for Build Orders"
-msgstr ""
+msgstr "Richiesto per gli Ordini di Produzione"
#: templates/InvenTree/index.html:191
msgid "Expired Stock"
-msgstr ""
+msgstr "Stock Scaduto"
#: templates/InvenTree/index.html:202
msgid "Stale Stock"
-msgstr ""
+msgstr "Stock obsoleto"
#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
@@ -7613,23 +7771,23 @@ msgstr "Ordini di Produzione Attivi"
#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
-msgstr ""
+msgstr "Ordini Di Produzione Scaduti"
#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
-msgstr ""
+msgstr "Ordini Di Acquisto In Corso"
#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
-msgstr ""
+msgstr "Ordini Di Acquisto In Ritardo"
#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
-msgstr ""
+msgstr "Ordini Di Vendita In Corso"
#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
-msgstr ""
+msgstr "Ordini Di Vendita in ritardo"
#: templates/InvenTree/index.html:312
msgid "InvenTree News"
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr "Elimina tutte le notifiche lette"
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr "Elimina notifica"
@@ -7769,8 +7927,16 @@ msgstr "Importa Articolo"
msgid "Part Parameter Templates"
msgstr "Modelli parametro articolo"
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr "Impostazioni Inventario"
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr "Report Inventario"
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr "Impostazioni Plugin"
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
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/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr "Plugin"
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr "Stage"
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Messaggio"
@@ -7869,7 +8035,7 @@ msgstr "Questo è un plugin integrato che non può essere disabilitato"
#: templates/InvenTree/settings/plugin_settings.html:107
msgid "Commit Author"
-msgstr ""
+msgstr "Autore Commit"
#: templates/InvenTree/settings/plugin_settings.html:111
#: templates/about.html:36
@@ -7879,11 +8045,11 @@ msgstr "Data d'impegno"
#: templates/InvenTree/settings/plugin_settings.html:115
#: templates/about.html:29
msgid "Commit Hash"
-msgstr ""
+msgstr "Commit Hash"
#: templates/InvenTree/settings/plugin_settings.html:119
msgid "Commit Message"
-msgstr ""
+msgstr "Commit Messaggio"
#: templates/InvenTree/settings/plugin_settings.html:127
msgid "Sign Status"
@@ -7931,71 +8097,71 @@ msgstr "Nessun valore impostato"
msgid "Edit setting"
msgstr "Modifica impostazioni"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr "Modifica Impostazioni Plugin"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr "Modifica Impostazioni Notifica"
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr "Modifica Impostazioni Globali"
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr "Modifica Impostazioni Utente"
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr "Voto"
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr "Nessun parametro di categoria trovato"
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr "Modifica Template"
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr "Elimina Template"
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr "Crea Template Parametro Categoria"
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr "Elimina Modello Parametro Categoria"
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr "Crea Template Parametro Categoria"
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr "Nessun parametro dell'articolo templates trovato"
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "ID"
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr "Crea Parametro Articolo Template"
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr "Modifica Parametro Articolo Template"
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
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.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr "Elimina Parametro Articolo Template"
@@ -8041,7 +8207,7 @@ msgstr "Impostazioni Globali"
msgid "Server Configuration"
msgstr "Configurazione Server"
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr "Categorie"
@@ -8151,134 +8317,134 @@ msgstr "Statico"
#: templates/InvenTree/settings/user.html:204
msgid "Multifactor authentication is not configured for your account"
-msgstr ""
+msgstr "L'autenticazione multifattore non è configurata per il tuo account"
#: templates/InvenTree/settings/user.html:211
msgid "Change factors"
-msgstr ""
+msgstr "Cambia fattori"
#: templates/InvenTree/settings/user.html:212
msgid "Setup multifactor"
-msgstr ""
+msgstr "Imposta multifattore"
#: templates/InvenTree/settings/user.html:214
msgid "Remove multifactor"
-msgstr ""
+msgstr "Rimuovi multifattore"
#: templates/InvenTree/settings/user.html:222
msgid "Active Sessions"
-msgstr ""
+msgstr "Sessioni Attive"
#: templates/InvenTree/settings/user.html:228
msgid "Log out active sessions (except this one)"
-msgstr ""
+msgstr "Disconnetti le sessioni attive (tranne questa)"
#: templates/InvenTree/settings/user.html:229
msgid "Log Out Active Sessions"
-msgstr ""
+msgstr "Disconnetti Sessioni Attive"
#: templates/InvenTree/settings/user.html:238
msgid "unknown on unknown"
-msgstr ""
+msgstr "sconosciuto su sconosciuto"
#: templates/InvenTree/settings/user.html:239
msgid "unknown"
-msgstr ""
+msgstr "sconosciuto"
#: templates/InvenTree/settings/user.html:243
msgid "IP Address"
-msgstr ""
+msgstr "Indirizzo IP"
#: templates/InvenTree/settings/user.html:244
msgid "Device"
-msgstr ""
+msgstr "Dispositivo"
#: templates/InvenTree/settings/user.html:245
msgid "Last Activity"
-msgstr ""
+msgstr "Ultima attività"
#: templates/InvenTree/settings/user.html:258
#, python-format
msgid "%(time)s ago (this session)"
-msgstr ""
+msgstr "%(time)s fa (questa sessione)"
#: templates/InvenTree/settings/user.html:260
#, python-format
msgid "%(time)s ago"
-msgstr ""
+msgstr "%(time)s fa"
#: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?"
-msgstr ""
+msgstr "Vuoi davvero rimuovere gli indirizzi email selezionati?"
#: templates/InvenTree/settings/user_display.html:29
msgid "Theme Settings"
-msgstr ""
+msgstr "Impostazioni tema"
#: templates/InvenTree/settings/user_display.html:39
msgid "Select theme"
-msgstr ""
+msgstr "Seleziona tema"
#: templates/InvenTree/settings/user_display.html:50
msgid "Set Theme"
-msgstr ""
+msgstr "Imposta Tema"
#: templates/InvenTree/settings/user_display.html:58
msgid "Language Settings"
-msgstr ""
+msgstr "Impostazioni Lingua"
#: templates/InvenTree/settings/user_display.html:67
msgid "Select language"
-msgstr ""
+msgstr "Selezionare lingua"
#: templates/InvenTree/settings/user_display.html:83
#, python-format
msgid "%(lang_translated)s%% translated"
-msgstr ""
+msgstr "%(lang_translated)s%% tradotto"
#: templates/InvenTree/settings/user_display.html:85
msgid "No translations available"
-msgstr ""
+msgstr "Nessuna traduzione disponibile"
#: templates/InvenTree/settings/user_display.html:92
msgid "Set Language"
-msgstr ""
+msgstr "Imposta Lingua"
#: templates/InvenTree/settings/user_display.html:95
msgid "Some languages are not complete"
-msgstr ""
+msgstr "Alcune lingue non sono complete"
#: templates/InvenTree/settings/user_display.html:97
msgid "Show only sufficent"
-msgstr ""
+msgstr "Mostra solo sufficiente"
#: templates/InvenTree/settings/user_display.html:99
msgid "and hidden."
-msgstr ""
+msgstr "e nascosto."
#: templates/InvenTree/settings/user_display.html:99
msgid "Show them too"
-msgstr ""
+msgstr "Mostra anche loro"
#: templates/InvenTree/settings/user_display.html:106
msgid "Help the translation efforts!"
-msgstr ""
+msgstr "Aiuta gli sforzi di traduzione!"
#: templates/InvenTree/settings/user_display.html:107
msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged."
-msgstr ""
+msgstr "La traduzione in lingua nativa dell'applicazione web riceve contributi tramite community crowdin. I Contributi sono accolti favorevolmente e incoraggiati."
#: templates/InvenTree/settings/user_display.html:108
msgid "InvenTree Translation Project"
-msgstr ""
+msgstr "InvenTree Progetto di Traduzione"
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
-msgstr ""
+msgstr "Impostazioni Home Page"
#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
-msgstr ""
+msgstr "Impostazioni Notifiche"
#: templates/about.html:9
msgid "InvenTree Version"
@@ -8286,7 +8452,7 @@ msgstr "Versione di InvenTree"
#: templates/about.html:14
msgid "Development Version"
-msgstr ""
+msgstr "Versione di Sviluppo"
#: templates/about.html:17
msgid "Up to Date"
@@ -8294,7 +8460,7 @@ msgstr "Aggiornato"
#: templates/about.html:19
msgid "Update Available"
-msgstr ""
+msgstr "Aggiornamento Disponibile"
#: templates/about.html:42
msgid "InvenTree Documentation"
@@ -8302,39 +8468,39 @@ msgstr "Documentazione InvenTree"
#: templates/about.html:47
msgid "API Version"
-msgstr ""
+msgstr "Versione API"
#: templates/about.html:52
msgid "Python Version"
-msgstr ""
+msgstr "Versione di Python"
#: templates/about.html:57
msgid "Django Version"
-msgstr ""
+msgstr "Versione Django"
#: templates/about.html:62
msgid "View Code on GitHub"
-msgstr ""
+msgstr "Visualizza codice sorgente su GitHub"
#: templates/about.html:67
msgid "Credits"
-msgstr ""
+msgstr "Crediti"
#: templates/about.html:72
msgid "Mobile App"
-msgstr ""
+msgstr "App Mobile"
#: templates/about.html:77
msgid "Submit Bug Report"
-msgstr ""
+msgstr "Invia Segnalazione Bug"
#: templates/about.html:84 templates/clip.html:4
msgid "copy to clipboard"
-msgstr ""
+msgstr "copia negli appunti"
#: templates/about.html:84
msgid "copy version information"
-msgstr ""
+msgstr "copia informazioni versione"
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
@@ -8344,7 +8510,7 @@ msgstr "Conferma l'indirizzo e-mail"
#: templates/account/email_confirm.html:16
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
-msgstr ""
+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:708
msgid "Confirm"
@@ -8353,7 +8519,7 @@ msgstr "Conferma"
#: templates/account/email_confirm.html:30
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
-msgstr ""
+msgstr "Questo link di conferma email è scaduto o non è valido. Per favoreinoltra una nuova richiesta di conferma email."
#: templates/account/login.html:6 templates/account/login.html:17
#: templates/account/login.html:38 templates/socialaccount/login.html:4
@@ -8362,7 +8528,7 @@ msgstr "Accedi"
#: templates/account/login.html:21
msgid "Not a member?"
-msgstr ""
+msgstr "Non sei ancora iscritto?"
#: templates/account/login.html:23 templates/account/signup.html:11
#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
@@ -8376,7 +8542,7 @@ msgstr "Password dimenticata?"
#: templates/account/login.html:53
msgid "or log in with"
-msgstr ""
+msgstr "o accedi con"
#: templates/account/logout.html:5 templates/account/logout.html:8
#: templates/account/logout.html:20
@@ -8514,11 +8680,11 @@ msgstr "Inserisci un token generato dall'app:"
msgid "Verify"
msgstr "Verifica"
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr "Aggiungi Collegamento"
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "Aggiungi allegato"
@@ -8526,7 +8692,7 @@ msgstr "Aggiungi allegato"
msgid "Delete selected attachments"
msgstr "Elimina allegati selezionati"
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr "Elimina Allegati"
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr "I seguenti articoli sono pochi nel magazzino richiesto"
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr "Quantità richiesta"
@@ -8587,7 +8753,7 @@ 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:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr "Quantità minima"
@@ -8595,11 +8761,11 @@ msgstr "Quantità minima"
msgid "Expand all rows"
msgstr "Espandi tutte le righe"
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr "Nessuna Risposta"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr "Nessuna risposta dal server InvenTree"
@@ -8611,27 +8777,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:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr "Errore 401: Non Autenticato"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr "Credenziali di autenticazione non fornite"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr "Errore 403 - Permesso negato"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
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:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr "Errore 404: Risorsa Non Trovata"
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr "La risorsa richiesta non può essere localizzata sul server"
@@ -8643,11 +8809,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:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr "Errore 408: Timeout"
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr "Timeout connessione durante la richiesta di dati dal server"
@@ -8659,111 +8825,111 @@ msgstr "Codice Di Errore Non Gestito"
msgid "Error code"
msgstr "Codice errore"
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr "Tutti gli allegati selezionati saranno eliminati"
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr "Allegati non trovati"
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr "Modifica allegato"
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
-msgstr ""
+msgstr "Data di Upload"
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
-msgstr ""
+msgstr "Modifica allegato"
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
-msgstr ""
+msgstr "Cancella allegato"
#: templates/js/translated/barcode.js:33
msgid "Scan barcode data here using barcode scanner"
-msgstr ""
+msgstr "Scansiona il codice a barre usando uno scanner"
#: templates/js/translated/barcode.js:35
msgid "Enter barcode data"
-msgstr ""
+msgstr "Inserire il codice a barre"
#: templates/js/translated/barcode.js:42
msgid "Barcode"
-msgstr ""
+msgstr "Codice a Barre"
#: templates/js/translated/barcode.js:49
msgid "Scan barcode using connected webcam"
-msgstr ""
+msgstr "Scansiona il codice a barre usando la webcam"
#: templates/js/translated/barcode.js:126
msgid "Enter optional notes for stock transfer"
-msgstr ""
+msgstr "Inserire le note facoltative per il trasferimento delle scorte"
#: templates/js/translated/barcode.js:127
msgid "Enter notes"
-msgstr ""
+msgstr "Inserire le note"
#: templates/js/translated/barcode.js:173
msgid "Server error"
-msgstr ""
+msgstr "Problemi con il server"
#: templates/js/translated/barcode.js:202
msgid "Unknown response from server"
-msgstr ""
+msgstr "Risposta sconosciuta dal server"
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
-msgstr ""
+msgstr "Risposta del server non valida"
#: templates/js/translated/barcode.js:355
msgid "Scan barcode data"
-msgstr ""
+msgstr "Scansione del codice a barre"
#: templates/js/translated/barcode.js:405 templates/navbar.html:109
msgid "Scan Barcode"
-msgstr ""
+msgstr "Scansiona codice a barre"
#: templates/js/translated/barcode.js:417
msgid "No URL in response"
-msgstr ""
+msgstr "Nessuna risposta dall'URL"
#: templates/js/translated/barcode.js:456
msgid "This will remove the link to the associated barcode"
-msgstr ""
+msgstr "Questo rimuoverà il collegamento al codice a barre associato"
#: templates/js/translated/barcode.js:462
msgid "Unlink"
-msgstr ""
+msgstr "Scollega"
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
-msgstr ""
+msgstr "Rimuovere l'articolo in magazzino"
#: templates/js/translated/barcode.js:567
msgid "Scan Stock Items Into Location"
-msgstr ""
+msgstr "Scansione articoli di magazzino in sede"
#: templates/js/translated/barcode.js:569
msgid "Scan stock item barcode to check in to this location"
-msgstr ""
+msgstr "Scansione del codice a barre dell'articolo di magazzino per effettuare il check-in in questa sede"
#: templates/js/translated/barcode.js:572
#: templates/js/translated/barcode.js:764
msgid "Check In"
-msgstr ""
+msgstr "Check In"
#: templates/js/translated/barcode.js:603
msgid "No barcode provided"
-msgstr ""
+msgstr "Non c'è un codice a barre"
#: templates/js/translated/barcode.js:643
msgid "Stock Item already scanned"
-msgstr ""
+msgstr "Articolo di magazzino già scansionato"
#: templates/js/translated/barcode.js:647
msgid "Stock Item already in this location"
@@ -8771,23 +8937,23 @@ msgstr "Elemento in giacenza già in questa posizione"
#: templates/js/translated/barcode.js:654
msgid "Added stock item"
-msgstr ""
+msgstr "Aggiunta di un articolo di magazzino"
#: templates/js/translated/barcode.js:663
msgid "Barcode does not match valid stock item"
-msgstr ""
+msgstr "Il codice a barre non corrisponde a un articolo di magazzino valido"
#: templates/js/translated/barcode.js:680
msgid "Scan Stock Container Into Location"
-msgstr ""
+msgstr "Scansione delle scorte contenute in sede"
#: templates/js/translated/barcode.js:682
msgid "Scan stock container barcode to check in to this location"
-msgstr ""
+msgstr "Scansionare il codice a barre di scorta contenuta per effettuare il check-in in questa sede"
#: templates/js/translated/barcode.js:716
msgid "Barcode does not match valid stock location"
-msgstr ""
+msgstr "Il codice a barre non corrisponde a una posizione di magazzino valida"
#: templates/js/translated/barcode.js:759
msgid "Check Into Location"
@@ -8800,208 +8966,208 @@ msgstr "Il codice a barre non corrisponde a una posizione valida"
#: templates/js/translated/bom.js:47
msgid "Create BOM Item"
-msgstr ""
+msgstr "Creare un elemento della distinta base"
#: templates/js/translated/bom.js:101
msgid "Display row data"
-msgstr ""
+msgstr "Visualizzare i dati"
#: templates/js/translated/bom.js:157
msgid "Row Data"
-msgstr ""
+msgstr "Dati"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Chiudi"
#: templates/js/translated/bom.js:275
msgid "Download BOM Template"
-msgstr ""
+msgstr "Scarica il modello di distinta base"
#: templates/js/translated/bom.js:320
msgid "Multi Level BOM"
-msgstr ""
+msgstr "Distinta base multilivello"
#: templates/js/translated/bom.js:321
msgid "Include BOM data for subassemblies"
-msgstr ""
+msgstr "Includere i dati della distinta base per i sottoassiemi"
#: templates/js/translated/bom.js:326
msgid "Levels"
-msgstr ""
+msgstr "Livelli"
#: templates/js/translated/bom.js:327
msgid "Select maximum number of BOM levels to export (0 = all levels)"
-msgstr ""
+msgstr "Selezionare il numero massimo di livelli di distinta base da esportare (0 = tutti i livelli)"
#: templates/js/translated/bom.js:334
msgid "Include Alternative Parts"
-msgstr ""
+msgstr "Includere Articoli Alternativi"
#: templates/js/translated/bom.js:335
msgid "Include alternative parts in exported BOM"
-msgstr ""
+msgstr "Includere articoli alternativi nella distinta base esportata"
#: templates/js/translated/bom.js:340
msgid "Include Parameter Data"
-msgstr ""
+msgstr "Includere i dati dei parametri"
#: templates/js/translated/bom.js:341
msgid "Include part parameter data in exported BOM"
-msgstr ""
+msgstr "Includere i dati dei parametri degli articoli nella distinta base esportata"
#: templates/js/translated/bom.js:346
msgid "Include Stock Data"
-msgstr ""
+msgstr "Includere i dati delle scorte"
#: templates/js/translated/bom.js:347
msgid "Include part stock data in exported BOM"
-msgstr ""
+msgstr "Includere i dati delle scorte dei pezzi nella distinta base esportata"
#: templates/js/translated/bom.js:352
msgid "Include Manufacturer Data"
-msgstr ""
+msgstr "Includere i dati del produttore"
#: templates/js/translated/bom.js:353
msgid "Include part manufacturer data in exported BOM"
-msgstr ""
+msgstr "Includere i dati del produttore delle parti nella distinta base esportata"
#: templates/js/translated/bom.js:358
msgid "Include Supplier Data"
-msgstr ""
+msgstr "Includere i dati dei fornitori"
#: templates/js/translated/bom.js:359
msgid "Include part supplier data in exported BOM"
-msgstr ""
+msgstr "Includere i dati del fornitore di parti nella distinta base esportata"
#: templates/js/translated/bom.js:364
msgid "Include Pricing Data"
-msgstr ""
+msgstr "Includere i prezzi"
#: templates/js/translated/bom.js:365
msgid "Include part pricing data in exported BOM"
-msgstr ""
+msgstr "Includere i prezzi delle parti nella distinta base esportata"
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
-msgstr ""
+msgstr "Rimuovi articolo sostitutivo"
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
-msgstr ""
+msgstr "Seleziona e aggiungi un nuovo articolo sostitutivo utilizzando l'input qui sotto"
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr "Sei sicuro di voler rimuovere questo collegamento all' articolo sostitutivo?"
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr "Rimuovi Articolo Sostitutivo"
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr "Aggiungi Sostitutivo"
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr "Modifica Elementi Sostitutivi Distinta Base"
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr "Tutti gli elementi selezionati della Distinta Base saranno eliminati"
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr "Elimina gli Elementi selezionati della Distinta Base?"
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr "Carica la Distinta Base per il sotto assemblaggio"
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr "Sostituti Disponibili"
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr "Variante stock consentita"
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr "Sostituti"
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr "Visualizza Distinta Base"
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr "I prezzi Distinta Base sono completi"
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr "I prezzi Distinta Base sono incompleti"
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr "Nessun prezzo disponibile"
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr "Nessuna Scorta Disponibile"
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr "Include variante e scorte sostitutive"
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr "Comprende varianti magazzino"
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr "Comprende le scorte sostitutive"
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr "Elementi consumabili"
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr "Convalida elemento Distinta Base"
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr "Questa linea è stata convalidata"
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr "Modifica articoli sostitutivi"
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr "Modifica elemento Distinta Base"
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr "Cancella elemento Distinta Base"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr "Nessun elemento trovato in Distinta Base"
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr "Articolo richiesto"
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr "Ereditato dalla Distinta Base principale"
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr "Completa l'Ordine di Produzione"
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr "Il prossimo numero di serie disponibile è"
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr "Ultimo Numero Di Serie"
@@ -9099,323 +9265,323 @@ msgstr "Sei sicuro di voler annullare l'allocazione degli elementi stock da ques
msgid "Unallocate Stock Items"
msgstr "Non assegnare Elementi Stock"
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr "Seleziona Output di produzione"
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
-msgstr ""
+msgstr "Almeno un output di produzione deve essere selezionato"
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
-msgstr ""
+msgstr "Output"
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
-msgstr ""
+msgstr "Completa l'output di produzione"
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
-msgstr ""
+msgstr "Cancella l'output di produzione"
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
-msgstr ""
+msgstr "Nessuna allocazione per l'ordine di produzione trovato"
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr "Posizione non specificata"
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
-msgstr ""
+msgstr "Nessun output di produzione attivo trovato"
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
-msgstr ""
+msgstr "Scorte Assegnate"
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
-msgstr ""
+msgstr "Nessun elemento Distinta Base tracciato per questa produzione"
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
-msgstr ""
+msgstr "Test Completati"
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
-msgstr ""
+msgstr "Nessun test richiesto per questa produzione"
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr "Modifica allocazione magazzino"
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr "Elimina posizione giacenza"
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr "Modifica Posizione"
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr "Rimuovi Posizione"
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
-msgstr ""
+msgstr "Articoli sostitutivi disponibili"
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
-msgstr ""
+msgstr "Quantità Per"
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
-msgstr ""
+msgstr "Scorte insufficienti disponibili"
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
-msgstr ""
+msgstr "Scorte sufficienti disponibili"
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
-msgstr ""
+msgstr "Produci scorta"
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
-msgstr ""
+msgstr "Ordina scorta"
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
-msgstr ""
+msgstr "Assegna scorta"
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Seleziona Articoli"
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
-msgstr ""
+msgstr "È necessario selezionare almeno un articolo da assegnare"
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr "Specificare il quantitativo assegnato allo stock"
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
-msgstr ""
+msgstr "Tutti gli articoli assegnati"
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
-msgstr ""
+msgstr "Tutti gli articoli selezionati sono stati completamente assegnati"
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
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:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
-msgstr ""
+msgstr "Assegna gli Elementi Stock all'Ordine di Produzione"
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr "Nessuna posizione di magazzino corrispondente"
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
-msgstr ""
+msgstr "Nessun elemento corrispondente trovato"
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:2403
-msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
-msgstr ""
+msgstr "Assegna Automaticamente Scorte"
#: templates/js/translated/build.js:2405
-msgid "If a location is specified, stock will only be allocated from that location"
-msgstr ""
-
-#: templates/js/translated/build.js:2406
-msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
-msgstr ""
+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:2407
+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:2408
+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:2409
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
-msgstr ""
+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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
-msgstr ""
+msgstr "Assegna Elementi di Magazzino"
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
-msgstr ""
+msgstr "Nessuna produzione corrispondente alla ricerca"
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
-msgstr ""
+msgstr "Seleziona"
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
-msgstr ""
+msgstr "L'ordine di produzione è in ritardo"
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
-msgstr ""
+msgstr "Avanzamento"
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
-msgstr ""
+msgstr "Nessuna informazione utente"
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
-msgstr ""
+msgstr "Nessun articolo assegnato per"
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
-msgstr ""
+msgstr "Aggiungi Produttore"
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
-msgstr ""
+msgstr "Aggiungi Articolo Produttore"
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
-msgstr ""
+msgstr "Modifica Articolo Produttore"
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr "Aggiungi fornitore"
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr "Aggiungi fornitore articolo"
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati"
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
-msgstr ""
+msgstr "Cancella Articoli Fornitore"
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
-msgstr ""
+msgstr "Aggiungi nuova Azienda"
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr "Fornitori articoli"
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
-msgstr ""
+msgstr "Articoli prodotti"
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
-msgstr ""
+msgstr "Nessuna informazione azienda trovata"
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
-msgstr ""
+msgstr "Tutti gli articoli del produttore selezionati saranno eliminati"
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
-msgstr ""
+msgstr "Elimina Articoli Produttore"
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
-msgstr ""
+msgstr "Tutti i parametri selezionati saranno cancellati"
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr "Elimina Parametri"
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
-msgstr ""
+msgstr "Nessun articolo produttore trovato"
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
-msgstr ""
+msgstr "Modello Articolo"
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
-msgstr ""
+msgstr "Articolo assemblato"
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
-msgstr ""
+msgstr "Nessun parametro trovato"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr "Modifica parametro"
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr "Elimina il parametro"
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr "Modifica parametro"
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr "Elimina Parametri"
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr "Nessun fornitore trovato"
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
-msgstr ""
+msgstr "Disponibilità"
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr "Modifica articolo fornitore"
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr "Elimina articolo fornitore"
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr "Elimina riduzione di prezzo"
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
-msgstr ""
+msgstr "Modifica Prezzo Limite"
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr "Nessuna informazione di riduzione di prezzo trovata"
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
-msgstr ""
+msgstr "Ultimo aggiornamento"
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr "Modifica riduzione di prezzo"
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr "Cancella riduzione di prezzo"
@@ -9435,7 +9601,7 @@ msgstr "Seleziona filtro"
#: templates/js/translated/filters.js:292
msgid "Download data"
-msgstr ""
+msgstr "Scarica dati"
#: templates/js/translated/filters.js:295
msgid "Reload data"
@@ -9476,40 +9642,40 @@ msgstr "Mostra operazione non consentita"
#: templates/js/translated/forms.js:734
msgid "Keep this form open"
-msgstr ""
+msgstr "Mantieni aperto questo modulo"
#: templates/js/translated/forms.js:835
msgid "Enter a valid number"
msgstr "Inserisci un numero valido"
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
-msgstr ""
+msgstr "Esistono errori nel modulo"
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr "Nessun risultato trovato"
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr "Ricerca"
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr "Cancella input"
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
-msgstr ""
+msgstr "Colonna File"
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
-msgstr ""
+msgstr "Nome del campo"
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
-msgstr ""
+msgstr "Seleziona Colonne"
#: templates/js/translated/helpers.js:24
msgid "YES"
@@ -9517,20 +9683,20 @@ msgstr "SÌ"
#: templates/js/translated/helpers.js:26
msgid "NO"
-msgstr ""
+msgstr "NO"
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
-msgstr ""
+msgstr "Note aggiornate"
#: templates/js/translated/label.js:39
msgid "Labels sent to printer"
-msgstr ""
+msgstr "Etichette inviate alla stampante"
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
-msgstr ""
+msgstr "Seleziona Elementi Magazzino"
#: templates/js/translated/label.js:61
msgid "Stock item(s) must be selected before printing labels"
@@ -9567,78 +9733,78 @@ msgstr "Nessuna etichetta trovata che corrisponde agli elementi stock selezionat
#: templates/js/translated/label.js:257
msgid "Select Printer"
-msgstr ""
+msgstr "Seleziona Stampante"
#: templates/js/translated/label.js:261
msgid "Export to PDF"
-msgstr ""
+msgstr "Esporta in PDF"
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr "elemento stock creato"
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr "Seleziona Modello Etichetta"
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "Annulla"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Invia"
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr "Titolo modulo"
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr "In attesa del server..."
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr "Informazioni sull'errore"
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr "Accetta"
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
-msgstr ""
+msgstr "Caricamento Dati"
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr "Risposta dal server non valida"
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
-msgstr ""
+msgstr "Dati del modulo mancanti dalla risposta server"
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
-msgstr ""
+msgstr "Errore nel pubblicare i dati del modulo"
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
-msgstr ""
+msgstr "Dati del modulo mancanti di risposta JSON"
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
-msgstr ""
+msgstr "Errore 400: Richiesta Non Valida"
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
-msgstr ""
+msgstr "Il server ha restituito codice di errore 400"
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
-msgstr ""
+msgstr "Errore nella richiesta di dati modulo"
#: templates/js/translated/model_renderers.js:74
msgid "Company ID"
@@ -9656,7 +9822,7 @@ msgstr "ID Ordine"
#: templates/js/translated/model_renderers.js:329
#: templates/js/translated/model_renderers.js:333
msgid "Shipment ID"
-msgstr ""
+msgstr "Id Spedizione"
#: templates/js/translated/model_renderers.js:394
msgid "Manufacturer Part ID"
@@ -9664,767 +9830,766 @@ msgstr "ID articolo produttore"
#: templates/js/translated/news.js:24
msgid "No news found"
-msgstr ""
+msgstr "Nessuna notizia trovata"
#: templates/js/translated/notification.js:42
msgid "Age"
-msgstr ""
+msgstr "Età"
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr "Notifiche"
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
-msgstr ""
+msgstr "Segna come non letto"
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
-msgstr ""
+msgstr "Segna come letto"
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
-msgstr ""
+msgstr "Nessuna notifica non letta"
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
-msgstr ""
+msgstr "Le notifiche verranno caricate qui"
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
-msgstr ""
+msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione"
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
-msgstr ""
+msgstr "I seguenti elementi in magazzino saranno spediti"
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
-msgstr ""
+msgstr "Completa Spedizione"
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
-msgstr ""
-
-#: templates/js/translated/order.js:219
-msgid "No pending shipments found"
-msgstr ""
+msgstr "Conferma Spedizione"
#: templates/js/translated/order.js:223
+msgid "No pending shipments found"
+msgstr "Nessuna spedizione in sospeso trovata"
+
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
-msgstr ""
+msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione"
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
-msgstr ""
+msgstr "Salta"
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
-msgstr ""
+msgstr "Completa Ordine D'Acquisto"
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
-msgstr ""
+msgstr "Contrassegnare questo ordine come completato?"
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
-msgstr ""
+msgstr "Tutti gli elementi della riga sono stati ricevuti"
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
-msgstr ""
+msgstr "Questo ordine ha elementi di riga che non sono stati contrassegnati come ricevuti."
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
+msgstr "Completare questo ordine significa che l'ordine e gli elementi della riga non saranno più modificabili."
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
-msgstr ""
+msgstr "Annulla Ordine di Acquisto"
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
-msgstr ""
+msgstr "Sei sicuro di voler annullare questo ordine di acquisto?"
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
-msgstr ""
+msgstr "Questo ordine d'acquisto non può essere cancellato"
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
-msgstr ""
+msgstr "Problema Ordine di Acquisto"
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
+msgstr "Dopo aver effettuato questo ordine d'acquisto, gli elementi di riga non saranno più modificabili."
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
-msgstr ""
+msgstr "Questo ordine ha elementi di riga che non sono stati completati."
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
-msgstr ""
+msgstr "Annulla Ordine di Vendita"
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
+msgstr "Cancellando questo ordine, l'ordine non sarà più modificabile."
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
-msgstr ""
+msgstr "Crea Nuova Spedizione"
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr "Aggiungi cliente"
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
-msgstr ""
+msgstr "Crea Ordine di Vendita"
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr "Modifica Ordine di Vendita"
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
-msgstr ""
+msgstr "Selezione l'ordine di acquisto da duplicare"
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
-msgstr ""
+msgstr "Duplica linee degli elementi"
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
-msgstr ""
+msgstr "Duplica tutte le linee elementi dall'ordine selezionato"
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
-msgstr ""
+msgstr "Duplica Linee Extra"
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
-msgstr ""
+msgstr "Duplica elementi linee extra dall'ordine selezionato"
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr "Modifica ordine d'acquisto"
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
-msgstr ""
+msgstr "Opzioni Duplicazione"
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
-msgstr ""
+msgstr "Esporta Ordine"
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
-msgstr ""
+msgstr "Deve essere selezionata almeno un articolo acquistabile"
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
-msgstr ""
+msgstr "Quantità da ordinare"
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
-msgstr ""
+msgstr "Nuovo articolo fornitore"
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
-msgstr ""
+msgstr "Nuovo ordine d'acquisto"
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
-msgstr ""
+msgstr "Aggiungi ordine d'acquisto"
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
-msgstr ""
+msgstr "Nessun fornitore articolo corrispondente"
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
-msgstr ""
+msgstr "Nessun ordine di acquisto corrispondente trovato"
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
-msgstr ""
+msgstr "Seleziona Linee Elementi"
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
-msgstr ""
+msgstr "È necessario selezionare almeno una linea elemento"
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
-msgstr ""
+msgstr "Aggiungi codice lotto"
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
-msgstr ""
+msgstr "Aggiungi numeri seriali"
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
-msgstr ""
+msgstr "Quantità Ricevuta"
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr "Quantità da ricevere"
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr "Stato giacenza"
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr "Codice ordine"
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr "Ordinato"
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
-msgstr ""
+msgstr "Quantità da Ricevere"
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
-msgstr ""
+msgstr "Conferma la ricezione degli elementi"
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
-msgstr ""
+msgstr "Ricevi Elementi Ordine D'Acquisto"
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
-msgstr ""
+msgstr "Nessun ordine d'acquisto trovato"
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
-msgstr ""
+msgstr "L'Ordine è in ritardo"
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
-msgstr ""
+msgstr "Elementi"
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
-msgstr ""
+msgstr "Duplica Linee Elementi"
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
-msgstr ""
+msgstr "Modifica Linee Elementi"
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
-msgstr ""
+msgstr "Cancella Linea Elemento"
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
-msgstr ""
+msgstr "Nessuna linea elementi trovata"
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr "Totale"
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr "Prezzo Unitario"
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr "Prezzo Totale"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
-msgstr ""
+msgstr "Questo elemento è in ritardo"
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
-msgstr ""
+msgstr "Ricevi linea elemento"
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
-msgstr ""
+msgstr "Duplica linea elemento"
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
-msgstr ""
+msgstr "Modifica linea elemento"
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
-msgstr ""
+msgstr "Cancella linea elemento"
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
-msgstr ""
+msgstr "Duplica linea"
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
-msgstr ""
+msgstr "Modifica linea"
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
-msgstr ""
+msgstr "Cancella linea"
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
-msgstr ""
+msgstr "Duplica Linea"
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
-msgstr ""
+msgstr "Modifica Linea"
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
-msgstr ""
+msgstr "Cancella Linea"
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
-msgstr ""
+msgstr "Nessuna linea corrispondente"
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
-msgstr ""
+msgstr "Non sono state trovati ordini di vendita"
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr "Cliente non valido"
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
-msgstr ""
+msgstr "Modifica spedizione"
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
-msgstr ""
+msgstr "Completa spedizione"
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
-msgstr ""
+msgstr "Elimina spedizione"
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
-msgstr ""
+msgstr "Modifica spedizione"
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
-msgstr ""
+msgstr "Elimina Spedizione"
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
-msgstr ""
+msgstr "Nessuna spedizione corrispondente trovata"
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
-msgstr ""
+msgstr "Riferimento della spedizione"
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
-msgstr ""
+msgstr "Non spedito"
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
-msgstr ""
+msgstr "Tracciamento"
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
-msgstr ""
+msgstr "Fattura"
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
-msgstr ""
+msgstr "Aggiungi Spedizione"
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr "Conferma l'assegnazione della giacenza"
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
-msgstr ""
+msgstr "Assegna Elementi di Magazzino all'Ordine di Vendita"
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr "Nessun ordine di vendita trovato"
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr "Modifica posizione giacenza"
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr "Conferma Operazione Eliminazione"
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr "Elimina posizione giacenza"
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr "Spedito al cliente"
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr "Nessun posizione specificata"
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
-msgstr ""
+msgstr "Assegna Numeri di Serie"
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr "Prezzo d'acquisto"
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr "Calcola il prezzo"
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
-msgstr ""
+msgstr "Non può essere eliminato perché gli elementi sono stati spediti"
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
-msgstr ""
+msgstr "Non può essere eliminato perché gli elementi sono stati assegnati"
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
-msgstr ""
+msgstr "Assegna Numeri di Serie"
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
-msgstr ""
+msgstr "Aggiorna Prezzo Unitario"
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
-msgstr ""
+msgstr "Nessun elemento di riga corrispondente"
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
-msgstr ""
+msgstr "Nessuna linea corrispondente"
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr "Attributi Articolo"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
-msgstr ""
+msgstr "Opzioni Creazione Articolo"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
-msgstr ""
+msgstr "Opzioni Duplicazione Articolo"
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr "Aggiungi Categoria Articolo"
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr "Copia Parametri Categoria"
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr "Categoria articolo principale"
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
-msgstr ""
+msgstr "Icona (opzionale) - Esplora tutte le icone disponibili su"
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr "Modifica Categoria Articoli"
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
-msgstr ""
+msgstr "Sei sicuro di voler eliminare questa categoria articolo?"
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
-msgstr ""
+msgstr "Sposta nella categoria superiore"
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr "Elimina categoria"
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
-msgstr ""
+msgstr "Azione articoli in questa categoria"
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
-msgstr ""
+msgstr "Azione per categorie secondarie"
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr "Crea Articolo"
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr "Crea un altro articolo dopo questo"
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr "Articolo creato con successo"
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr "Modifica l'articolo"
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr "Articolo modificato"
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
-msgstr ""
+msgstr "Crea Varianti Articolo"
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
-msgstr ""
+msgstr "Articolo Attivo"
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
-msgstr ""
+msgstr "L'articolo non può essere eliminato poiché è attualmente attivo"
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
-msgstr ""
+msgstr "L'eliminazione di questo articolo non è reversibile"
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
-msgstr ""
+msgstr "Tutte le giacenze per questo articolo verranno eliminate"
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
-msgstr ""
+msgstr "Questo articolo verrà eliminato da qualsiasi Fattura dei Materiali"
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
-msgstr ""
+msgstr "Tutte le informazioni del produttore e del fornitore per questo articolo verranno eliminate"
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
-msgstr ""
+msgstr "Cancella Articolo"
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr "Sei iscritto alle notifiche per questo elemento"
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr "Hai sottoscritto le notifiche per questo elemento"
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
-msgstr ""
+msgstr "Sottoscrivi le notifiche per questo elemento"
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr "Hai annullato l'iscrizione alle notifiche per questo elemento"
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
-msgstr ""
+msgstr "La convalida della Distinta Base segnerà ogni voce di riga come valida"
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr "Convalida la distinta dei materiali"
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
-msgstr ""
+msgstr "Valida Fattura dei Materiali"
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
-msgstr ""
+msgstr "Copia Fattura dei Materiali"
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr "In esaurimento"
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
-msgstr ""
+msgstr "Nessuno stock disponibile"
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
-msgstr ""
+msgstr "Unità"
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr "Parte tracciabile"
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr "Parte virtuale"
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr "Parte sottoscritta"
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr "Parte vendibile"
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
-msgstr ""
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr "Programmare la generazione di un nuovo report inventario."
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr "Una volta completato, il report inventario sarà disponibile per il download."
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
+msgstr "Genera Report Inventario"
#: templates/js/translated/part.js:752
-msgid "Update item"
-msgstr ""
+msgid "Stocktake report scheduled"
+msgstr "Programma report inventario"
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
-msgstr ""
+msgstr "Nessuna informazione sull'inventario disponibile"
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
-msgstr ""
+msgstr "Modifica Voce Inventario"
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
-msgstr ""
+msgstr "Elimina Voce Inventario"
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr "Nessuna variante trovata"
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr "Elimina relazione tra i componenti"
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
-msgstr ""
+msgstr "Elimina Relazione Articolo"
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr "Nessun articolo trovato"
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr "Nessuna categoria"
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
-msgstr ""
+msgstr "Nessuno stock"
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
-msgstr ""
+msgstr "Assegnato per ordini di produzione"
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
-msgstr ""
+msgstr "Assegnato per Ordini di Vendita"
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr "Visualizza come elenco"
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr "Visualizza come griglia"
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
-msgstr ""
+msgstr "Imposta la categoria prodotto per i prodotti selezionati"
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr "Imposta categoria articolo"
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
-msgstr ""
+msgstr "Seleziona Categoria Articolo"
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
-msgstr ""
+msgstr "Carica Sotto Categorie"
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr "Visualizza come struttura ad albero"
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
-msgstr ""
+msgstr "Carica Sotto Categorie"
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr "Categoria sottoscritta"
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr "Nessun modello di test corrispondente"
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr "Modificare il risultato del test"
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr "Cancellare il risultato del test"
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
-msgstr ""
+msgstr "Questo test è definito per un articolo principale"
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
-msgstr ""
+msgstr "Modifica Modello Risultato Test"
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
-msgstr ""
+msgstr "Elimina Modello Risultato Test"
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
-msgstr ""
+msgstr "Nessuna data specificata"
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
-msgstr ""
+msgstr "La data specificata è nel passato"
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
-msgstr ""
+msgstr "Speculativo"
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
-msgstr ""
+msgstr "Nessuna informazione di pianificazione disponibile per questo prodotto"
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
-msgstr ""
+msgstr "Errore nel recupero delle informazioni di programmazione per questo articolo"
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
-msgstr ""
+msgstr "Quantità Di Scorte Programmate"
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
-msgstr ""
+msgstr "Quantità Massima"
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
-msgstr ""
+msgstr "Livello Minimo Stock"
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
@@ -10432,53 +10597,53 @@ msgstr "Il Plugin è stato installato"
#: templates/js/translated/pricing.js:143
msgid "Error fetching currency data"
-msgstr ""
+msgstr "Errore durante il recupero dati"
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
-msgstr ""
+msgstr "Nessun dato Distinta Base disponibile"
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
-msgstr ""
+msgstr "Nessun dato di prezzo disponibile per il fornitore"
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
-msgstr ""
+msgstr "Nessun dato disponibile prezzo limite"
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "Modifica ${human_name}"
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "Elimina ${human_name}"
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
-msgstr ""
+msgstr "Nessun dato della cronologia di acquisto disponibile"
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
-msgstr ""
+msgstr "Cronologia Prezzi Acquisto"
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
-msgstr ""
+msgstr "Nessun dato della cronologia di vendita disponibile"
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
-msgstr ""
+msgstr "Cronologia Prezzo Vendita"
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
-msgstr ""
+msgstr "Non sono disponibili dati varianti"
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
-msgstr ""
+msgstr "Variante Articolo"
#: templates/js/translated/report.js:67
msgid "items selected"
@@ -10486,15 +10651,15 @@ msgstr "elementi selezionati"
#: templates/js/translated/report.js:75
msgid "Select Report Template"
-msgstr ""
+msgstr "Seleziona Modello Report"
#: templates/js/translated/report.js:90
msgid "Select Test Report Template"
-msgstr ""
+msgstr "Seleziona Modello Test Report"
#: templates/js/translated/report.js:119
msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
+msgstr "Gli elementi(s) disponibili devono essere selezionati prima di stampare le etichette"
#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
@@ -10504,452 +10669,452 @@ msgstr "Nessun Report Trovato"
#: templates/js/translated/report.js:137
msgid "No report templates found which match selected stock item(s)"
-msgstr ""
+msgstr "Nessun modello di report trovato che corrisponde agli elementi stock selezionati(s)"
#: templates/js/translated/report.js:172
msgid "Select Builds"
-msgstr ""
+msgstr "Seleziona Produzioni"
#: templates/js/translated/report.js:173
msgid "Build(s) must be selected before printing reports"
-msgstr ""
+msgstr "Le produzioni devono essere selezionate prima di stampare i report"
#: templates/js/translated/report.js:190
msgid "No report templates found which match selected build(s)"
-msgstr ""
+msgstr "Nessun modello di report trovato che corrisponda alle produzioni selezionate(s)"
#: templates/js/translated/report.js:226
msgid "Part(s) must be selected before printing reports"
-msgstr ""
+msgstr "L'Articolo deve essere selezionato prima di stampare i report"
#: templates/js/translated/report.js:244
msgid "No report templates found which match selected part(s)"
-msgstr ""
+msgstr "Nessun modello di report trovato che corrisponda agli articoli selezionati(s)"
#: templates/js/translated/report.js:279
msgid "Select Purchase Orders"
-msgstr ""
+msgstr "Seleziona Ordini D'Acquisto"
#: templates/js/translated/report.js:280
msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
+msgstr "Gli Ordini di Acquisto devono essere selezionati prima di stampare il report"
#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
msgid "No report templates found which match selected orders"
-msgstr ""
+msgstr "Nessun modello di report trovato che corrisponde agli ordini selezionati"
#: templates/js/translated/report.js:333
msgid "Select Sales Orders"
-msgstr ""
+msgstr "Seleziona Ordini Di Vendita"
#: templates/js/translated/report.js:334
msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
+msgstr "Gli ordini di vendita devono essere selezionati prima di stampare il report"
#: templates/js/translated/search.js:410
msgid "Minimize results"
-msgstr ""
+msgstr "Minimizza risultati"
#: templates/js/translated/search.js:413
msgid "Remove results"
-msgstr ""
+msgstr "Rimuovi risultati"
#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
-msgstr ""
+msgstr "Serializza Elementi di Magazzino"
#: templates/js/translated/stock.js:104
msgid "Confirm Stock Serialization"
-msgstr ""
+msgstr "Conferma Serializzazione Magazzino"
#: templates/js/translated/stock.js:113
msgid "Parent stock location"
msgstr "Posizione giacenza principale"
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr "Modifica Posizione Giacenza"
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr "Nuova posizione giacenza"
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr "Sei sicuro di voler eliminare questa posizione?"
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
-msgstr ""
+msgstr "Sposta nella posizione principale magazzino"
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr "Elimina Posizione di Giacenza"
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
-msgstr ""
+msgstr "Azione per gli elementi stock in questa posizione magazzino"
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
-msgstr ""
+msgstr "Azione per sotto-ubicazioni"
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
-msgstr ""
+msgstr "Questo articolo non può essere serializzato"
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr "Inserisci quantità iniziale per questo articolo in giacenza"
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)"
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
-msgstr ""
+msgstr "Elemento di magazzino duplicato"
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
-msgstr ""
+msgstr "Duplica elemento di magazzino"
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
-msgstr ""
+msgstr "Sei sicuro di voler rimuovere questo elemento di magazzino?"
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
-msgstr ""
+msgstr "Cancella Elemento di Magazzino"
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
-msgstr ""
+msgstr "Modifica elemento magazzino"
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr "Crea nuova allocazione magazzino"
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr "Creato più elementi stock"
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
-msgstr ""
+msgstr "Trova Numero Di Serie"
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
-msgstr ""
+msgstr "Inserisci numero di serie"
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
-msgstr ""
+msgstr "Inserisci un numero di serie"
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
-msgstr ""
+msgstr "Nessun numero di serie corrispondente"
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
-msgstr ""
+msgstr "Conferma l'assegnazione delle scorte"
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
-msgstr ""
+msgstr "Assegnare la scorta al cliente"
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
-msgstr ""
+msgstr "Attenzione: L'operazione di unione non può essere annullata"
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
-msgstr ""
+msgstr "Alcune informazioni andranno perse durante la fusione degli articoli di magazzino"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
-msgstr ""
+msgstr "La cronologia delle transazioni di magazzino verrà eliminata per gli articoli uniti"
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
-msgstr ""
+msgstr "Le informazioni sulle parti del fornitore verranno eliminate per gli articoli uniti"
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
-msgstr ""
+msgstr "Confermare l'unione degli articoli di magazzino"
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
-msgstr ""
+msgstr "Unire gli articoli di magazzino"
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr "Trasferisci giacenza"
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr "Sposta"
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr "Conta giacenza"
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr "Conta"
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr "Rimuovi giacenza"
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr "Prendi"
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr "Aggiungi giacenza"
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr "Aggiungi"
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr "Elimina Stock"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
-msgstr ""
+msgstr "La quantità non può essere regolata per le scorte serializzate"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr "Specificare la quantità di magazzino"
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr "Devi selezionare almeno un articolo disponibile"
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
-msgstr ""
+msgstr "Confermare l'adeguamento delle scorte"
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
-msgstr ""
+msgstr "OK"
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
-msgstr ""
+msgstr "FALLITO"
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr "NESSUN RISULTATO"
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
-msgstr ""
+msgstr "Test OK"
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr "Aggiungi risultato test"
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr "Nessun risultato di prova trovato"
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
-msgstr ""
+msgstr "Data del test"
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
-msgstr ""
+msgstr "Modifica del risultato del test"
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
-msgstr ""
+msgstr "Cancellare il risultato del test"
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr "In produzione"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr "Installato nell'elemento stock"
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr "Assegnato all'ordine di vendita"
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr "Nessuna giacenza impostata"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr "L'articolo di magazzino è in produzione"
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
-msgstr ""
+msgstr "Articolo di magazzino assegnato all'ordine di vendita"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr "Articolo stock assegnato al cliente"
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
-msgstr ""
+msgstr "L'articolo di magazzino serializzato è stato assegnato"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
-msgstr ""
+msgstr "La voce di magazzino è stata completamente assegnata"
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
-msgstr ""
+msgstr "La voce di magazzino è stata parzialmente allocata"
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr "L'elemento stock è stato installato in un altro articolo"
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr "L'articolo stock è scaduto"
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr "Articolo in giacenza prossimo alla scadenza"
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr "L'articolo stock è stato rifiutato"
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
-msgstr ""
+msgstr "L'articolo di magazzino è andato perso"
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
-msgstr ""
+msgstr "Articolo di magazzino distrutto"
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr "Esaurito"
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
-msgstr ""
+msgstr "Fornitore dell'articolo non specificato"
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
-msgstr ""
+msgstr "Nessun articolo in magazzino corrispondente alla richiesta"
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
-msgstr ""
+msgstr "Impostare lo stato delle scorte"
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
-msgstr ""
+msgstr "Selezionare il codice di stato"
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
-msgstr ""
+msgstr "Il codice di stato deve essere selezionato"
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
-msgstr ""
+msgstr "Caricare sublocazioni"
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
-msgstr ""
+msgstr "Dettagli"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
-msgstr ""
+msgstr "Informazioni sull'articolo non disponibili"
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr "La posizione non esiste più"
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
-msgstr ""
+msgstr "L'ordine di acquisto non esiste più"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
-msgstr ""
+msgstr "Il cliente non esiste più"
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
-msgstr ""
+msgstr "L'articolo in magazzino non esiste più"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr "Aggiunto"
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr "Rimosso"
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
-msgstr ""
+msgstr "Nessun elemento installato"
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
-msgstr ""
+msgstr "Disinstallare l'articolo di magazzino"
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
-msgstr ""
+msgstr "Selezionare l'articolo di magazzino da disinstallare"
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
-msgstr ""
+msgstr "Installare un altro articolo di magazzino in questo articolo"
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
-msgstr ""
+msgstr "Gli articoli in magazzino possono essere installati solo se soddisfano i seguenti criteri"
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
-msgstr ""
+msgstr "L'articolo di magazzino si collega a un'articolo che è la distinta base di questo articolo di magazzino"
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
-msgstr ""
+msgstr "L'articolo in stock è attualmente disponibile in magazzino"
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
-msgstr ""
+msgstr "L'articolo di magazzino non è già installato in un altro articolo"
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
-msgstr ""
+msgstr "L'articolo di magazzino è tracciato da un codice di lotto o da un numero di serie"
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
-msgstr ""
+msgstr "Selezionare la parte da installare"
#: templates/js/translated/table_filters.js:56
msgid "Trackable Part"
-msgstr ""
+msgstr "Articolo tracciabile"
#: templates/js/translated/table_filters.js:60
msgid "Assembled Part"
-msgstr ""
+msgstr "Articolo assemblato"
#: templates/js/translated/table_filters.js:64
msgid "Has Available Stock"
-msgstr ""
+msgstr "Ha scorte disponibili"
#: templates/js/translated/table_filters.js:72
msgid "Validated"
@@ -10957,15 +11122,15 @@ msgstr "Convalidato"
#: templates/js/translated/table_filters.js:80
msgid "Allow Variant Stock"
-msgstr ""
+msgstr "Varianti consentite"
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
-msgstr ""
+msgstr "Prezzo"
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr "Includi sottoallocazioni/posizioni"
@@ -10973,220 +11138,220 @@ msgstr "Includi sottoallocazioni/posizioni"
msgid "Include locations"
msgstr "Includi posizioni"
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr "Includi sottocategorie"
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr "Sottoscritto"
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
-msgstr ""
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
+msgstr "E' Serializzato"
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
-msgstr ""
+msgid "Serial number GTE"
+msgstr "Numero di serie GTE"
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
-msgstr ""
+msgid "Serial number greater than or equal to"
+msgstr "Numero di serie maggiore di o uguale a"
#: templates/js/translated/table_filters.js:175
-#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
-msgid "Serial number"
-msgstr ""
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr "Numero di serie LTE"
+#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr "Numero di serie inferiore di o uguale a"
+
+#: templates/js/translated/table_filters.js:179
#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
+msgid "Serial number"
+msgstr "Numero di serie"
+
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr "Codice Lotto"
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr "Elementi attivi"
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:197
-msgid "Part is an assembly"
-msgstr ""
+msgstr "Mostra stock per gli articoli attivi"
#: templates/js/translated/table_filters.js:201
-msgid "Is allocated"
-msgstr ""
+msgid "Part is an assembly"
+msgstr "L'articolo è un assemblato"
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:205
+msgid "Is allocated"
+msgstr "È assegnato"
+
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr "L'elemento è stato posizionato"
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
-msgstr ""
+msgstr "Stock disponibile per l'utilizzo"
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr "Includi elementi in giacenza nelle sottoallocazioni"
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
-msgstr ""
+msgstr "Mostra gli elementi di magazzino che sono esauriti"
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr "Mostra gli elementi che sono in giacenza"
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr "In Produzione"
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr "Mostra gli elementi in produzione"
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr "Includi Varianti"
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr "Includi gli articoli stock per le varianti degli articoli"
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr "Installato"
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr "Mostra gli elementi stock che sono installati in un altro elemento"
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr "Mostra elementi che sono stati assegnati a un cliente"
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr "Stato magazzino"
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
-msgstr ""
+msgstr "Ha codice lotto"
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
-msgstr ""
+msgstr "Monitorato"
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
-msgstr ""
+msgstr "L'articolo stock è monitorato dal codice lotto o dal numero di serie"
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr "Ha il prezzo d'acquisto"
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr "Mostra gli articoli di magazzino che hanno un prezzo di acquisto impostato"
-#: templates/js/translated/table_filters.js:285
-msgid "Expiry Date before"
-msgstr ""
-
#: templates/js/translated/table_filters.js:289
-msgid "Expiry Date after"
-msgstr ""
+msgid "Expiry Date before"
+msgstr "Data di scadenza precedente"
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:293
+msgid "Expiry Date after"
+msgstr "Data di scadenza successiva"
+
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr "Mostra gli elementi in giacenza scaduti"
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr "Mostra giacenza prossima alla scadenza"
-#: templates/js/translated/table_filters.js:316
-msgid "Test Passed"
-msgstr ""
-
#: templates/js/translated/table_filters.js:320
-msgid "Include Installed Items"
-msgstr ""
+msgid "Test Passed"
+msgstr "Test superato"
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:324
+msgid "Include Installed Items"
+msgstr "Includi Elementi Installati"
+
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr "Stato Build"
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
-msgstr ""
+msgstr "Assegnato a me"
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr "Stato dell'ordine"
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr "In Sospeso"
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr "Includi articoli nelle sottocategorie"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr "Visualizza articoli attivi"
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
-msgstr ""
+msgstr "Stock disponibile"
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr "Ha IPN"
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr "L'articolo possiede un part number interno"
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
-msgstr ""
+msgstr "In giacenza"
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr "Acquistabile"
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
-msgstr ""
+msgstr "Ha voci d'inventario"
#: templates/js/translated/tables.js:70
msgid "Display calendar view"
@@ -11198,15 +11363,15 @@ msgstr "Visualizzazione elenco"
#: templates/js/translated/tables.js:90
msgid "Display tree view"
-msgstr ""
+msgstr "Visualizza vista albero"
#: templates/js/translated/tables.js:142
msgid "Export Table Data"
-msgstr ""
+msgstr "Esporta Dati Tabella"
#: templates/js/translated/tables.js:146
msgid "Select File Format"
-msgstr ""
+msgstr "Seleziona Formato File"
#: templates/js/translated/tables.js:501
msgid "Loading data"
@@ -11272,11 +11437,11 @@ msgstr "Vendi"
#: templates/navbar.html:116
msgid "Show Notifications"
-msgstr ""
+msgstr "Mostra Notifiche"
#: templates/navbar.html:119
msgid "New Notifications"
-msgstr ""
+msgstr "Nuove Notifiche"
#: templates/navbar.html:137 users/models.py:36
msgid "Admin"
@@ -11288,15 +11453,15 @@ msgstr "Esci"
#: templates/notes_buttons.html:6 templates/notes_buttons.html:7
msgid "Save"
-msgstr ""
+msgstr "Salva"
#: templates/notifications.html:13
msgid "Show all notifications and history"
-msgstr ""
+msgstr "Mostra tutte le notifiche e la cronologia"
#: templates/price_data.html:7
msgid "No data"
-msgstr ""
+msgstr "Nessun dato"
#: templates/qr_code.html:11
msgid "QR data not provided"
@@ -11312,73 +11477,74 @@ msgstr "Accedi di nuovo"
#: templates/search.html:9
msgid "Show full search results"
-msgstr ""
+msgstr "Visualizza tutti i risultati di ricerca"
#: templates/search.html:12
msgid "Clear search"
-msgstr ""
+msgstr "Cancella ricerca"
#: templates/search.html:16
msgid "Filter results"
-msgstr ""
+msgstr "Filtra risultati"
#: templates/search.html:20
msgid "Close search menu"
-msgstr ""
+msgstr "Chiudi menu di ricerca"
#: templates/search.html:35
msgid "No search results"
-msgstr ""
+msgstr "Nessun risultato di ricerca"
#: templates/socialaccount/authentication_error.html:5
msgid "Social Network Login Failure"
-msgstr ""
+msgstr "Errore Accesso Social Network"
#: templates/socialaccount/authentication_error.html:8
msgid "Account Login Failure"
-msgstr ""
+msgstr "Accesso Account Fallito"
#: templates/socialaccount/authentication_error.html:11
msgid "An error occurred while attempting to login via your social network account."
-msgstr ""
+msgstr "Si è verificato un errore durante il tentativo di accedere tramite il tuo account di social network."
#: templates/socialaccount/authentication_error.html:13
msgid "Contact your system administrator for further information."
-msgstr ""
+msgstr "Contatta l'amministratore di sistema per maggiori informazioni."
#: templates/socialaccount/login.html:8
#, python-format
msgid "Connect %(provider)s"
-msgstr ""
+msgstr "Connetti %(provider)s"
#: templates/socialaccount/login.html:10
#, python-format
msgid "You are about to connect a new third party account from %(provider)s."
-msgstr ""
+msgstr "Stai per connettere un nuovo account di terze parti da %(provider)s."
#: templates/socialaccount/login.html:12
#, python-format
msgid "Sign In Via %(provider)s"
-msgstr ""
+msgstr "Accedi Via %(provider)s"
#: templates/socialaccount/login.html:14
#, python-format
msgid "You are about to sign in using a third party account from %(provider)s."
-msgstr ""
+msgstr "Stai per accedere utilizzando un account di terze parti da %(provider)s."
#: templates/socialaccount/login.html:19
msgid "Continue"
-msgstr ""
+msgstr "Continua"
#: templates/socialaccount/signup.html:10
#, python-format
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 ""
+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:9
msgid "Server"
-msgstr ""
+msgstr "Server"
#: templates/stats.html:13
msgid "Instance Name"
@@ -11386,7 +11552,7 @@ msgstr "Nome istanza"
#: templates/stats.html:18
msgid "Database"
-msgstr ""
+msgstr "Database"
#: templates/stats.html:26
msgid "Server is running in debug mode"
@@ -11402,15 +11568,15 @@ msgstr "Il server è distribuito utilizzando docker"
#: templates/stats.html:39
msgid "Plugin Support"
-msgstr ""
+msgstr "Supporto Plugin"
#: templates/stats.html:43
msgid "Plugin support enabled"
-msgstr ""
+msgstr "Supporto Plugin Abilitato"
#: templates/stats.html:45
msgid "Plugin support disabled"
-msgstr ""
+msgstr "Supporto plugin disabilitato"
#: templates/stats.html:52
msgid "Server status"
@@ -11418,7 +11584,7 @@ msgstr "Stato del Server"
#: templates/stats.html:55
msgid "Healthy"
-msgstr ""
+msgstr "In Buono stato"
#: templates/stats.html:57
msgid "Issues detected"
@@ -11426,7 +11592,7 @@ msgstr "Problemi rilevati"
#: templates/stats.html:64
msgid "Background Worker"
-msgstr ""
+msgstr "Lavoratore di base"
#: templates/stats.html:67
msgid "Background worker not running"
@@ -11434,7 +11600,7 @@ msgstr "Processo in background non in esecuzione"
#: templates/stats.html:75
msgid "Email Settings"
-msgstr ""
+msgstr "Impostazioni e-mail"
#: templates/stats.html:78
msgid "Email settings not configured"
@@ -11494,7 +11660,7 @@ msgstr "Elimina articoli selezionati"
#: templates/stock_table.html:55
msgid "Delete stock"
-msgstr ""
+msgstr "Elimina Stock"
#: templates/yesnolabel.html:4
msgid "Yes"
@@ -11502,7 +11668,7 @@ msgstr "Si"
#: templates/yesnolabel.html:6
msgid "No"
-msgstr ""
+msgstr "No"
#: users/admin.py:61
msgid "Users"
@@ -11512,51 +11678,51 @@ msgstr "Utenti"
msgid "Select which users are assigned to this group"
msgstr "Selezionare quali utenti sono assegnati a questo gruppo"
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr "Gli utenti seguenti sono membri di più gruppi:"
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr "Informazioni personali"
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr "Permessi"
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr "Date Importanti"
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "Impostazione autorizzazioni"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr "Gruppo"
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "Visualizza"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "Autorizzazione a visualizzare gli articoli"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "Autorizzazione ad aggiungere elementi"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr "Modificare"
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "Permessi per modificare gli elementi"
-#: users/models.py:225
+#: users/models.py:231
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 0b58270846..87ee7d9118 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -29,23 +29,23 @@ msgstr ""
msgid "Enter date"
msgstr "日付を入力する"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "メモ"
@@ -58,23 +58,23 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "パスワードを入力してください"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "新しいパスワードを入力してください。"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "パスワードの確認"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "新しいパスワードの確認"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr ""
@@ -130,7 +130,7 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "数量コードが無効です"
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "ファイルがありません"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "外部リンクが見つかりません。"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "添付ファイル"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "リンク"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "外部 サイト へのリンク"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "コメント:"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "ファイルコメント"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "ユーザー"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "アップロード日時"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "ファイル名は空欄にできません"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "添付ファイルのディレクトリが正しくありません"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "ファイル名に無効な文字'{c}'が含まれています"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "ファイル名に拡張子がありません"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "この名前の貼付ファイルは既に存在します"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "ファイル名の変更に失敗しました"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "無効な選択です"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "お名前"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "説明"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "説明 (オプション)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "親"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr ""
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "ファイル名"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "無効な値です。"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "データファイル"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "アップロードするファイルを選択"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "サポートされていないファイル形式"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "ファイルサイズが大きすぎます"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "ファイルに列が見つかりません"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "ファイルにデータ行がみつかりません"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "データが入力されていません"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "データ列が指定されていません"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "必須の列がありません: {name}"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "{col} 列が重複しています。"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "ドイツ語"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "ギリシャ語"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "英語"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "スペイン語"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "スペイン語(メキシコ)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "フランス語"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "ヘブライ語"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "ハンガリー語"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "イタリア語"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "日本語"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "韓国語"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "オランダ語"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "ノルウェー語"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "ポーランド語"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "ロシア語"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "スウェーデン語"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "タイ語"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "トルコ語"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "ベトナム語"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "中国語"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "バックグラウンドワーカーのチェックに失敗しました"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "InvenTree システムのヘルスチェックに失敗しました"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "処理待ち"
@@ -579,8 +592,8 @@ msgstr "紛失"
msgid "Returned"
msgstr "返品済"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "発送済み"
@@ -664,7 +677,7 @@ msgstr "親アイテムから分割する"
msgid "Split child item"
msgstr "子項目を分割"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "商品在庫をマージしました"
@@ -672,7 +685,7 @@ msgstr "商品在庫をマージしました"
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "顧客に送信されました"
@@ -721,27 +734,27 @@ msgstr ""
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "ユーザー情報を編集"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "パスワードを設定"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "システム情報"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr ""
@@ -749,44 +762,44 @@ msgstr ""
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr ""
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr ""
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr ""
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "パーツ"
@@ -855,8 +869,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr ""
@@ -896,21 +910,21 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "作成日時"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr ""
@@ -918,8 +932,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr ""
@@ -927,7 +941,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr ""
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr ""
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr "パーツを割り当てるためにビルドする"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "在庫商品"
@@ -1044,12 +1058,12 @@ msgstr "在庫商品"
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "数量"
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "ステータス"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr "注文必須パーツ"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "パーツの注文"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "テンプレート"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "アセンブリ"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "コンポーネント"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "購入可能"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "追跡可能"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "デバッグモード"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr "メッセージ ID:"
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "メーカー・パーツ"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "メーカー・パーツ"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr "新しいサプライヤー・パーツを作成"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "新しいサプライヤー・パーツ"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "パーツの注文"
@@ -3487,7 +3527,7 @@ msgstr "メーカー・パーツ"
msgid "Create new manufacturer part"
msgstr "新しいメーカー・パーツを作成"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "新しいメーカ―・パーツ"
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "パーツの注文"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "メーカー・パーツの編集"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "メーカー・パーツを削除"
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "購入金額"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "パーツ"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr "カテゴリ"
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr "新規パーツ"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "新規カテゴリ"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr "在庫切れ"
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr "期限切れ"
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr "メーカー・パーツの編集"
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr "続けて別のパーツを作る"
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 4c5bdfdbed..1c1996398d 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -29,23 +29,23 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr ""
@@ -58,23 +58,23 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "비밀번호를 입력하세요"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "새로운 비밀번호를 입력하세요"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "비밀번호 확인"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "새 비밀번호 확인"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr ""
@@ -130,7 +130,7 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr ""
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr ""
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "첨부파일"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "첨부할 파일을 선택하세요"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "링크"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "외부 URL로 링크"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "사용자"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "업로드 날짜"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "파일명은 비워둘 수 없습니다"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "파일명에 허용되지 않은 문자 '{c}'가 포함되어 있습니다"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "같은 이름의 첨부파일이 이미 존재합니다"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "파일 이름 바꾸기 오류"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "이름"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "설명"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "설명 (선택 사항)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr ""
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr ""
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "바코드 해시"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "파일명"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "파일이 너무 큽니다"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "체코어"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "독일어"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "그리스어"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "영어"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "스페인어"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "스페인어 (멕시코)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "파르시어/페르시아어"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "프랑스어"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "히브리어"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "헝가리어"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "이탈리아어"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "일본어"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "한국어"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "네덜란드어"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "노르웨이어"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "폴란드어"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "러시아어"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "스웨덴어"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "태국어"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "터키어"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "베트남어"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "중국어"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr ""
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr ""
@@ -579,8 +592,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr ""
@@ -664,7 +677,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr ""
@@ -672,7 +685,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr ""
@@ -721,27 +734,27 @@ msgstr ""
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "사용자 정보 수정"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "비밀번호 설정"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "비밀번호가 일치해야 합니다"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "시스템 정보"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr ""
@@ -749,44 +762,44 @@ msgstr ""
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr ""
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr ""
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr ""
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr ""
@@ -855,8 +869,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr ""
@@ -896,21 +910,21 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr ""
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr ""
@@ -918,8 +932,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr ""
@@ -927,7 +941,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr ""
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "외부 링크"
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "수량"
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "수량 값은 0보다 커야 합니다"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "일련번호"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "위치"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "상태"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} 파일"
msgid "Select {name} file to upload"
msgstr "업로드할 {name} 파일을 선택하세요"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "재시작 필요"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "회사명"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "기본 통화"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "URL에서 다운로드"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "바코드 지원"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "구입 가능"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "판매 가능"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "디버그 모드"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "페이지 크기"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "PDF 보고서 기본 페이지 크기"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr "SSO 활성화"
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr "로그인 페이지에서 SSO 활성화"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "이메일 필요"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr "두 번 보내기"
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "작성자"
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "파일 업로드"
@@ -3023,7 +3073,7 @@ msgstr "파일 업로드"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "웹사이트"
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "이미지"
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "회사"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr "회사 정보 수정"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "회사 수정"
@@ -3401,14 +3441,14 @@ msgstr "URL에서 이미지 다운로드"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "고객"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "전화번호"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "이미지 업로드"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "이미지 다운로드"
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "삭제"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR 코드 보기"
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr "새 회사"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr "높이 [mm]"
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr "이미 사용 중인 바코드입니다"
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr "데이터"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr "이미지 복사"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr "부품 명세서"
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr "일련번호 검색"
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "일련번호"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "일련번호가 이미 존재합니다"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "경고"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "메시지"
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr "링크 추가"
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "첨부파일 추가"
@@ -8526,7 +8692,7 @@ msgstr "첨부파일 추가"
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr "오류 408: 시간 초과"
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr "선택"
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr "예"
msgid "NO"
msgstr "아니오"
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "취소"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "제출"
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr "단가"
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr "부품 명세서 복사"
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr "일련번호 찾기"
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr "일련번호를 입력하세요"
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr "일련번호를 입력하세요"
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr "일치하는 일련번호가 없습니다"
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr "일련번호"
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 309d3ecbc1..e858a468f7 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -29,23 +29,23 @@ msgstr "Error details kunnen worden gevonden in het admin scherm"
msgid "Enter date"
msgstr "Voer datum in"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Opmerkingen"
@@ -58,23 +58,23 @@ msgstr "Waarde '{name}' verschijnt niet in patroonformaat"
msgid "Provided value does not match required pattern: "
msgstr "Opgegeven waarde komt niet overeen met vereist patroon: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Voer wachtwoord in"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Voer een nieuw wachtwoord in"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Wachtwoord bevestigen"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Nieuw wachtwoord bevestigen"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Oude wachtwoord"
@@ -130,7 +130,7 @@ msgstr "Externe server heeft lege reactie teruggegeven"
msgid "Supplied URL is not a valid image file"
msgstr "Opgegeven URL is geen geldig afbeeldingsbestand"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Ongeldige hoeveelheid ingevoerd"
@@ -170,23 +170,23 @@ msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeve
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Onjuist opgemaakt patroon"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Onbekende opmaaksleutel gespecificeerd"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Vereiste opmaaksleutel ontbreekt"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Referentieveld mag niet leeg zijn"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Referentie moet overeenkomen met verplicht patroon"
@@ -194,350 +194,363 @@ msgstr "Referentie moet overeenkomen met verplicht patroon"
msgid "Reference number is too large"
msgstr "Referentienummer is te groot"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Ontbrekend bestand"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Externe link ontbreekt"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Bijlage"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Link naar externe URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Opmerking"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Bestand opmerking"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Gebruiker"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "uploaddatum"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Bestandsnaam mag niet leeg zijn"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Foute bijlagemap"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Bestandsnaam bevat illegale teken '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Bestandsnaam mist extensie"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Bijlage met deze bestandsnaam bestaat al"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Fout bij hernoemen bestand"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Ongeldige keuze"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Naam"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Omschrijving"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Omschrijving (optioneel)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "bovenliggende"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Pad"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Streepjescode gegevens"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Streepjescode van derden"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Hash van Streepjescode"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Unieke hash van barcode gegevens"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Bestaande barcode gevonden"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Serverfout"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Er is een fout gelogd door de server."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Valuta"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Bestandsnaam"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Ongeldige waarde"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Data bestand"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Selecteer een bestand om te uploaden"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Niet ondersteund bestandstype"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Bestand is te groot"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Geen kolommen gevonden in het bestand"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Geen data rijen gevonden in dit bestand"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Geen data rijen opgegeven"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Geen gegevenskolommen opgegeven"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Verplichte kolom ontbreekt: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dubbele kolom: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL van extern afbeeldingsbestand"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Tsjechisch"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Deens"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Duits"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Grieks"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Engels"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Spaans"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Spaans (Mexicaans)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Perzisch"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Frans"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebreeuws"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Hongaars"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italiaans"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japans"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Koreaans"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Nederlands"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Noors"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Pools"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugees"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugees (Braziliaans)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Zweeds"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thais"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Turks"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamees"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Chinees"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Achtergrondwerker check is gefaald"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "InvenTree gezondsheidschecks mislukt"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Bezig"
@@ -579,8 +592,8 @@ msgstr "Kwijt"
msgid "Returned"
msgstr "Retour"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Verzonden"
@@ -664,7 +677,7 @@ msgstr "Splits van bovenliggend item"
msgid "Split child item"
msgstr "Splits onderliggende item"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Samengevoegde voorraadartikelen"
@@ -672,7 +685,7 @@ msgstr "Samengevoegde voorraadartikelen"
msgid "Converted to variant"
msgstr "Geconverteerd naar variant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Naar klant verzonden"
@@ -721,27 +734,27 @@ msgstr "Overschot mag niet groter zijn dan 100%"
msgid "Invalid value for overage"
msgstr "Ongeldige waarde voor overschot"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Gebruikersgegevens bewerken"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Wachtwoord instellen"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Wachtwoordvelden komen niet overeen"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Onjuist wachtwoord opgegeven"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Systeeminformatie"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Over InvenTree"
@@ -749,44 +762,44 @@ msgstr "Over InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Ongeldige keuze voor bovenliggende productie"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Productieorder"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Productieorders"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Ongeldige keuze voor bovenliggende productie"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Productieorderreferentie"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referentie"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Onderdeel"
@@ -855,8 +869,8 @@ msgstr "Verkooporder Referentie"
msgid "SalesOrder to which this build is allocated"
msgstr "Verkooporder waar deze productie aan is toegewezen"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Bronlocatie"
@@ -896,21 +910,21 @@ msgstr "Productiestatus"
msgid "Build status code"
msgstr "Productiestatuscode"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Batchcode"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Batchcode voor deze productieuitvoer"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Aanmaakdatum"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Verwachte opleveringsdatum"
@@ -918,8 +932,8 @@ msgstr "Verwachte opleveringsdatum"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Opleveringsdatum"
@@ -927,7 +941,7 @@ msgstr "Opleveringsdatum"
msgid "completed by"
msgstr "voltooid door"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Uitgegeven door"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Gebruiker die de productieorder heeft gegeven"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Verantwoordelijke"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Externe Link"
@@ -999,11 +1013,11 @@ msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofd
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Voorraad item is te veel toegewezen"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Toewijzing hoeveelheid moet groter zijn dan nul"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Product"
@@ -1025,18 +1039,18 @@ msgstr "Product"
msgid "Build to allocate parts"
msgstr "Product om onderdelen toe te wijzen"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Voorraadartikel"
@@ -1044,12 +1058,12 @@ msgstr "Voorraadartikel"
msgid "Source stock item"
msgstr "Bron voorraadartikel"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Bron voorraadartikel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Hoeveelheid"
@@ -1097,249 +1110,249 @@ msgstr "Installeren in"
msgid "Destination stock item"
msgstr "Bestemming voorraadartikel"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Productieuitvoer"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Deze productieuitvoer is al voltooid"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "Deze productieuitvoer is niet volledig toegewezen"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Voer hoeveelheid in voor productie uitvoer"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat"
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Serienummers"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Voer serienummers in voor productieuitvoeren"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "Serienummers automatisch toewijzen"
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers"
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr "De volgende serienummers bestaan al of zijn ongeldig"
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Locatie"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr "Locatie van voltooide productieuitvoeren"
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Status"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr "Incomplete Toewijzing Accepteren"
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen"
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr "Toegewezen Voorraad Verwijderen"
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr "Verminder alle voorraad die al is toegewezen aan deze productie"
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr "Verwijder Incomplete Uitvoeren"
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid"
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "Accepteer Niet-toegewezen"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "Vereiste voorraad is niet volledig toegewezen"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Accepteer Onvolledig"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "Vereiste productiehoeveelheid is voltooid"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr "Productieorder heeft onvolledige uitvoeren"
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "Stuklijstartikel"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr "Productieuitvoer"
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr "Productieuitvoer moet naar dezelfde productie wijzen"
-#: build/serializers.py:655
+#: build/serializers.py:665
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:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "Artikel moet op voorraad zijn"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Beschikbare hoeveelheid ({q}) overschreden"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen"
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen"
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput"
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr "Allocaties voor artikelen moeten worden opgegeven"
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "Locatie uitsluiten"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr "Uitwisselbare voorraad"
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "Vervangende Voorraad"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr "Toewijzing van vervangende onderdelen toestaan"
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr "Optionele Items"
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Voorraad is niet volledig toegewezen aan deze productieorder"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Streefdatum"
@@ -1445,29 +1458,29 @@ msgstr "Deze productie was verwacht op %(target)s"
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Achterstallig"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Voltooid"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Verkooporder"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Uitgegeven door"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr "Prioriteit"
@@ -1498,8 +1511,8 @@ msgstr "Voorraadbron"
msgid "Stock can be taken from any available location."
msgstr "Voorraad kan worden genomen van elke beschikbare locatie."
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Bestemming"
@@ -1511,21 +1524,21 @@ msgstr "Bestemmingslocatie niet opgegeven"
msgid "Allocated Parts"
msgstr "Toegewezen Onderdelen"
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Batch"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Gecreëerd"
@@ -1545,7 +1558,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:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "Voorraadtoewijzing ongedaan maken"
@@ -1576,7 +1589,7 @@ msgstr "Vereiste onderdelen bestellen"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Onderdelen bestellen"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr "Verwijder uitvoeren"
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "Afdrukacties"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Labels afdrukken"
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr "Voltooide Productieuitvoeren"
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Bijlagen"
@@ -1666,7 +1681,7 @@ msgstr "Toewijzing Voltooid"
msgid "All untracked stock items have been allocated"
msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Nieuwe Productieorder"
@@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Bestand"
msgid "Select {name} file to upload"
msgstr "Kies {name} bestand om te uploaden"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr "Bijgewerkt"
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)"
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr "Instellingswaarde"
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr "Gekozen waarde is geen geldige optie"
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr "Waarde moet een booleaanse waarde zijn"
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr "Waarde moet een geheel getal zijn"
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr "Sleutelreeks moet uniek zijn"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr "Geen groep"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Opnieuw opstarten vereist"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is"
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr "ID Serverinstantie"
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr "Stringbeschrijving voor de server instantie"
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr "Gebruik de instantie naam"
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr "Gebruik de naam van de instantie in de titelbalk"
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr "Tonen `over` beperken"
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Bedrijfsnaam"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Interne bedrijfsnaam"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "Basis-URL"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "Basis URL voor serverinstantie"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Standaard Valuta"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Download van URL"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr "Download limiet"
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr "Maximale downloadgrootte voor externe afbeelding"
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr "Boomstructuur Diepte"
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr "Dagen tussen backup"
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr "Verwijder oude taken"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen"
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr "Verwijder foutenlogboek"
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen"
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Streepjescodeondersteuning"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Streepjescodescanner ondersteuning inschakelen"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr "Barcode Webcam Ondersteuning"
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr "Barcode via webcam scannen in browser toestaan"
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN"
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Duplicaat IPN toestaan"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken"
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "Bewerken IPN toestaan"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr "Kopieer Onderdeel Stuklijstgegevens"
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel"
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr "Kopieer Onderdeel Parametergegevens"
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel"
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr "Kopieer Onderdeel Testdata"
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel"
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr "Kopiëer Categorieparameter Sjablonen"
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Sjabloon"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "Onderdelen zijn standaard sjablonen"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Samenstelling"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld"
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Component"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten"
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "Koopbaar"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "Onderdelen kunnen standaard gekocht worden"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Verkoopbaar"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "Onderdelen kunnen standaard verkocht worden"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Volgbaar"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "Onderdelen kunnen standaard gevolgd worden"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Virtueel"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Onderdelen zijn standaard virtueel"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr "Toon Import in Weergaven"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr "Toon de importwizard in sommige onderdelenweergaven"
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "Verwante onderdelen tonen"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr "Verwante onderdelen voor een onderdeel tonen"
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr "Onderdelennaam Weergaveopmaak"
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr "Opmaak om de onderdeelnaam weer te geven"
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr "dagen"
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr "Interne Prijzen"
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr "Inschakelen van interne prijzen voor onderdelen"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr "Printen van labels Inschakelen"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr "Printen van labels via de webinterface inschakelen"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr "Label Afbeelding DPI"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins"
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr "Activeer Rapportages"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr "Activeer het genereren van rapporten"
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Foutopsporingsmodus"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr "Rapporten genereren in debug modus (HTML uitvoer)"
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "Paginagrootte"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "Standaard paginagrootte voor PDF rapporten"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr "Activeer Testrapporten"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr "Activeer het genereren van testrapporten"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr "Testrapporten Toevoegen"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel"
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr "Batchcode Sjabloon"
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen"
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr "Verlopen Voorraad"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr "Verlopen voorraad functionaliteit inschakelen"
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr "Verkoop Verlopen Voorraad"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr "Verkoop verlopen voorraad toestaan"
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr "Voorraad Vervaltijd"
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen"
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr "Produceer Verlopen Voorraad"
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr "Sta productie met verlopen voorraad toe"
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr "Voorraad Eigenaar Toezicht"
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen"
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr "Productieorderreferentiepatroon"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr "Verkooporderreferentiepatroon"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr "Standaard Verzending Verkooporder"
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr "Aanmaken standaard verzending bij verkooporders inschakelen"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr "Inkooporderreferentiepatroon"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr "Wachtwoord vergeten functie inschakelen"
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr "Registratie inschakelen"
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr "SSO inschakelen"
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr "SSO inschakelen op de inlogpagina's"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "E-mailadres verplicht"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr "E-mail twee keer"
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr "Groep bij aanmelding"
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie"
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr "MFA afdwingen"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr "Gebruikers moeten multifactor-beveiliging gebruiken."
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr "Controleer plugins bij het opstarten"
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr "Activeer URL-integratie"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig"
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Toon laatste onderdelen"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Toon laatste onderdelen op de startpagina"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr "Recente Voorraadtelling"
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr "Toon recente voorraadwijzigingen"
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr "Toon recent aangepaste voorraadartikelen op de startpagina"
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr "Recente Voorraadtelling"
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr "Toon lage voorraad"
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr "Toon lage voorraad van artikelen op de startpagina"
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr "Toon lege voorraad"
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr "Toon lege voorraad van artikelen op de startpagina"
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr "Toon benodigde voorraad"
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina"
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr "Toon verlopen voorraad"
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr "Toon verlopen voorraad van artikelen op de startpagina"
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr "Toon verouderde voorraad"
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr "Toon verouderde voorraad van artikelen op de startpagina"
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr "Toon openstaande producties"
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr "Toon openstaande producties op de startpagina"
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr "Toon achterstallige productie"
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr "Toon achterstallige producties op de startpagina"
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr "Toon uitstaande PO's"
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr "Toon uitstaande PO's op de startpagina"
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr "Toon achterstallige PO's"
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr "Toon achterstallige PO's op de startpagina"
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr "Toon uitstaande SO's"
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr "Toon uitstaande SO's op de startpagina"
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr "Toon achterstallige SO's"
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr "Toon achterstallige SO's op de startpagina"
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr "Zoek Onderdelen"
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr "Inactieve Onderdelen Verbergen"
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr "Zoek in Voorraad"
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
-msgstr ""
+#: common/models.py:1809
+msgid "Search Parts"
+msgstr "Zoek Onderdelen"
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
-msgstr "Inkooporders Zoeken"
-
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
-msgstr "Toon inkooporders in het zoekvenster"
-
-#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
-msgstr "Inactieve Inkooporders Weglaten"
-
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
-msgstr "Inactieve inkooporders weglaten in het zoekvenster"
-
-#: common/models.py:1838
-msgid "Search Sales Orders"
-msgstr "Verkooporders zoeken"
-
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
-msgstr "Toon verkooporders in het zoekvenster"
-
-#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
-msgstr "Inactieve Verkooporders Weglaten"
-
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
-msgstr "Inactieve verkooporders weglaten in het zoekvenster"
-
-#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
+msgstr "Inactieve Onderdelen Verbergen"
+
+#: common/models.py:1831
+msgid "Excluded inactive parts from search preview window"
+msgstr ""
+
+#: common/models.py:1837
+msgid "Search Categories"
+msgstr ""
+
+#: common/models.py:1838
+msgid "Display part categories in search preview window"
+msgstr ""
+
+#: common/models.py:1844
+msgid "Search Stock"
+msgstr "Zoek in Voorraad"
+
+#: common/models.py:1845
+msgid "Display stock items in search preview window"
+msgstr ""
+
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
+msgstr ""
+
+#: common/models.py:1852
+msgid "Exclude stock items which are not available from the search preview window"
+msgstr ""
+
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
+msgid "Display build orders in search preview window"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Search Purchase Orders"
+msgstr "Inkooporders Zoeken"
+
+#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr "Toon inkooporders in het zoekvenster"
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr "Inactieve Inkooporders Weglaten"
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr "Inactieve inkooporders weglaten in het zoekvenster"
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr "Verkooporders zoeken"
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr "Toon verkooporders in het zoekvenster"
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr "Inactieve Verkooporders Weglaten"
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr "Inactieve verkooporders weglaten in het zoekvenster"
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1929
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Prijs"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr "Actief"
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr "Token"
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr "Token voor toegang"
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr "Geheim"
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr "Bericht ID"
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr "Host"
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr "Koptekst"
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr "Koptekst van dit bericht"
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr "Berichtinhoud"
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr "Inhoud van dit bericht"
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Upload Bestand"
@@ -3023,7 +3073,7 @@ msgstr "Upload Bestand"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Vergelijk Velden"
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Website"
@@ -3106,7 +3156,7 @@ msgstr "Contactpunt"
msgid "Link to external company information"
msgstr "Link naar externe bedrijfsinformatie"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Afbeelding"
@@ -3138,229 +3188,219 @@ msgstr "is fabrikant"
msgid "Does this company manufacture parts?"
msgstr "Fabriceert dit bedrijf onderdelen?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Valuta"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr "Basis onderdeel"
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "Onderdeel selecteren"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Fabrikant"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Fabrikant selecteren"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr "MPN"
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "Fabrikant artikel nummer (MPN)"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr "URL voor externe link van het fabrikant onderdeel"
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr "Omschrijving onderdeel fabrikant"
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Fabrikant onderdeel"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "Parameternaam"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Waarde"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "Parameterwaarde"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "Eenheden"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "Parameter eenheden"
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel"
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Leverancier"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Leverancier selecteren"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr "SKU"
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr "Selecteer fabrikant onderdeel"
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Opmerking"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr "basisprijs"
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr "Minimale kosten (bijv. voorraadkosten)"
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr "meerdere"
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr "Order meerdere"
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr "Beschikbaar"
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Valutacode"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "Bedrijf"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr "Basis onderdeel"
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "Onderdeel selecteren"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Fabrikant"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Fabrikant selecteren"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr "MPN"
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "Fabrikant artikel nummer (MPN)"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr "URL voor externe link van het fabrikant onderdeel"
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr "Omschrijving onderdeel fabrikant"
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Fabrikant onderdeel"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "Parameternaam"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Waarde"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "Parameterwaarde"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "Eenheden"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "Parameter eenheden"
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel"
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Leverancier"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Leverancier selecteren"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr "SKU"
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr "Selecteer fabrikant onderdeel"
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Opmerking"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr "basisprijs"
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr "Minimale kosten (bijv. voorraadkosten)"
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr "meerdere"
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr "Order meerdere"
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr "Beschikbaar"
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Inkooporder aanmaken"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr "Bedrijfsinformatie bewerken"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "Bedrijf bewerken"
@@ -3401,14 +3441,14 @@ msgstr "Afbeelding downloaden van URL"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Klant"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "Telefoon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Afbeelding Uploaden"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "Afbeelding Downloaden"
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Bestel onderdelen"
@@ -3487,7 +3527,7 @@ msgstr "Fabrikant onderdelen"
msgid "Create new manufacturer part"
msgstr "Maak nieuw fabrikant onderdeel"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Nieuw fabrikant onderdeel"
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Inkooporders"
@@ -3524,11 +3564,11 @@ msgstr "Nieuwe Inkooporder"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Verkooporders"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "Nieuwe Verkooporder"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr "Fabrikanten"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Order onderdeel"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "Fabrikant onderdeel bewerken"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "Fabrikant onderdeel verwijderen"
@@ -3583,34 +3623,34 @@ msgstr "Geen fabrikanten informatie beschikbaar"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Leveranciers"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr "Verwijder leveranciersonderdelen"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "Verwijderen"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parameters"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr "Parameter verwijderen"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr "Parameter toevoegen"
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr "Toegewezen Voorraadartikelen"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Leveranciersonderdeel"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR-code weergeven"
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "Order Onderdeel"
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr "Geen leveranciersinformatie beschikbaar"
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr "Nieuw voorraadartikel aanmaken"
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr "Nieuw Voorraadartikel"
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Leverancier Onderdelenorders"
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr "Prijsinformatie"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Voorraad"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Voorraadartikelen"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Orders"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "Prijzen"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Voorraadartikelen"
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr "Bedrijven"
msgid "New Company"
msgstr "Nieuw Bedrijf"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr "Labelnaam"
@@ -3848,7 +3864,7 @@ msgstr "Label"
msgid "Label template file"
msgstr "Label template bestand"
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr "Ingeschakeld"
@@ -3872,7 +3888,7 @@ msgstr "Hoogte [mm]"
msgid "Label height, specified in mm"
msgstr "Label hoogte, gespecificeerd in mm"
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr "Bestandsnaam Patroon"
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Filters"
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Inkooporder"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr "Order beschrijving"
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr "Link naar externe pagina"
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr "Aangemaakt Door"
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr "Gebruiker of groep verantwoordelijk voor deze order"
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr "Ordernotities"
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr "Orderreferentie"
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr "Inkooporder status"
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "Bedrijf waar de artikelen van worden besteld"
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr "Leveranciersreferentie"
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr "Order referentiecode van leverancier"
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr "ontvangen door"
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr "Datum van uitgifte"
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr "Order uitgegeven op datum"
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Streefdatum Levering"
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum."
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr "Order voltooid op datum"
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier"
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr "Hoeveelheid moet een positief getal zijn"
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr "Bedrijf waaraan de artikelen worden verkocht"
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr "Klantreferentie "
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr "Klant order referentiecode"
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Streefdatum voor voltooien order. De order is na deze datum achterstallig."
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr "Verzenddatum"
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr "verzonden door"
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn"
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr "Alleen orders in afwachting kunnen als voltooid worden gemarkeerd"
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn"
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn"
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr "Hoeveelheid artikelen"
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr "Artikelregel referentie"
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr "Artikel notities"
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr "Context"
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr "Additionele context voor deze regel"
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr "Stukprijs"
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr "Leveranciersonderdeel moet overeenkomen met leverancier"
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr "verwijderd"
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr "Order"
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr "Leveranciersonderdeel"
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr "Ontvangen"
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr "Aantal ontvangen artikelen"
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Inkoopprijs"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr "Aankoopprijs per stuk"
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?"
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder"
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen"
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr "Verkoopprijs"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr "Prijs per stuk"
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr "Verzonden hoeveelheid"
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr "Datum van verzending"
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr "Gecontroleerd door"
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr "Gebruiker die deze zending gecontroleerd heeft"
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr "Zending"
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr "Zendingsnummer"
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr "Zendingnotities"
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr "Volgnummer"
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr "Zending volginformatie"
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr "Factuurnummer"
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr "Referentienummer voor bijbehorende factuur"
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr "Verzending is al verzonden"
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr "Zending heeft geen toegewezen voorraadartikelen"
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr "Voorraadartikel is niet toegewezen"
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel"
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel"
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid"
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel"
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr "Verkooporder komt niet overeen met zending"
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr "Verzending komt niet overeen met verkooporder"
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr "Regel"
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr "Verzendreferentie verkooporder"
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr "Artikel"
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr "Selecteer voorraadartikel om toe te wijzen"
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr "Voer voorraadtoewijzingshoeveelheid in"
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr "Prijs valuta"
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr "Order kan niet worden geannuleerd"
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr "Order is niet open"
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr "Valuta Inkoopprijs"
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr "Leveranciersonderdeel moet worden gespecificeerd"
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr "Inkooporder moet worden gespecificeerd"
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr "De leverancier moet overeenkomen met de inkooporder"
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr "Inkooporder moet overeenkomen met de leverancier"
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr "Artikel"
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr "Artikelregel komt niet overeen met inkooporder"
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen"
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr "Voer serienummers in voor inkomende voorraadartikelen"
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr "Uniek identificatieveld"
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr "Streepjescode is al in gebruik"
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen"
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr "Artikelen moeten worden opgegeven"
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr "Bestemmingslocatie moet worden opgegeven"
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr "Geleverde streepjescodewaarden moeten uniek zijn"
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr "Valuta verkoopprijs"
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr "Geen verzenddetails opgegeven"
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr "Artikelregel is niet gekoppeld aan deze bestelling"
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr "Hoeveelheid moet positief zijn"
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr "Voer serienummers in om toe te wijzen"
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr "Verzending is al verzonden"
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr "Zending is niet gekoppeld aan deze bestelling"
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr "Geen overeenkomst gevonden voor de volgende serienummers"
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr "De volgende serienummers zijn al toegewezen"
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Rij verwijderen"
@@ -4566,7 +4578,7 @@ msgstr "Inkooporder Artikelen"
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr "Artikel toevoegen"
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr "Pakbon afdrukken"
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr "Verzendingen Voltooien"
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr "Voltooi Verkooporder"
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Deze Verkooporder is niet volledig toegewezen"
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr "Klantreferentie"
@@ -4636,10 +4648,6 @@ msgstr "Klantreferentie"
msgid "Completed Shipments"
msgstr "Voltooide Verzendingen"
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr "Verkooporder bewerken"
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Verkoooporder Artikelen"
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr "Verzendingen in behandeling"
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr "Acties"
@@ -4681,174 +4689,175 @@ 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:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "In bestelling"
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr "Toegewezen"
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr "Binnenkomende Inkooporder"
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr "Uitgaande Verkooporder"
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr "Geproduceerde voorraad door Productieorder"
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr "Voorraad vereist voor Productieorder"
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr "Standaard locatie"
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr "Totale Voorraad"
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr "Beschikbare Voorraad"
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "Standaard locatie voor onderdelen in deze categorie"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "Standaard locatie voor onderdelen in deze categorie"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr "Datum"
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr "De template van de parameter moet uniek zijn"
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr "Parameternaam"
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr "Parameter Eenheden"
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr "Parameter Template"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr "Parameterwaarde"
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr "Standaard Parameter Waarde"
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr "Afbeelding kopiëren"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel"
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr "Parameters kopiëren"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr "Parameter data kopiëren van het originele onderdeel"
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr "Ongeldige hoeveelheid"
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "U heeft geen toestemming om de stuklijst te bewerken."
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr "Categorie bewerken"
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr "Categorie bewerken"
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr "Categorie verwijderen"
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr "Categorie verwijderen"
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "Onderdeel Parameters"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "Nieuwe Categorie"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr "Verkoopordertoewijzingen"
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr "Een parameter toevoegen"
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr "Assemblages"
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr "Productieordertoewijzingen"
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr "Onderdeelfabrikanten"
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr "Fabrikantonderdeel verwijderen"
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr "Formaat"
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr "Selecteer bestandsindeling"
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "Label afdrukken"
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr "Voorraad acties"
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr "Toegewezen aan Productieorder"
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr "Toegewezen aan verkooporders"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr "Geen overeenkomende afbeeldingen gevonden"
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Voorraad"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "Prijzen"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr "Selecteer afbeelding onderdeel"
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr "Afbeelding onderdeel bijgewerkt"
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr "Afbeelding van onderdeel niet gevonden"
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr "Filters inkooporder"
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr "Verkooporder zoekopdracht filters"
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "Serienummer"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Voorraadlocatie"
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "Voorraadlocaties"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr "Inkooporder Bron"
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr "Inkooporder voor dit voorraadartikel"
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr "Bestemming Verkooporder"
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr "Voorraadartikel is toegewezen aan een verkooporder"
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr "Artikel is toegewezen aan een verkooporder"
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr "Artikel is toegewezen aan een productieorder"
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr "Scan naar Locatie"
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr "Voorraad tellen"
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr "Voorraad overzetten"
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr "Geen fabrikant geselecteerd"
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr "Dit voorraadartikel is toegewezen aan Verkooporder"
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr "Dit voorraadartikel is toegewezen aan Productieorder"
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr "vorige pagina"
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr "volgende pagina"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr "Geen locatie ingesteld"
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr "Locatie acties"
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "Bewerk locatie"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr "Verwijder locatie"
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt."
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr "Sublocaties"
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "Voorraadlocaties"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr "Maak nieuwe voorraadlocatie"
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "Nieuwe Locatie"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr "QR-code voor Voorraadlocatie"
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Bericht"
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr "De volgende onderdelen hebben een lage vereiste voorraad"
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr "Vereiste Hoeveelheid"
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Sluit"
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr "Geen Voorraad Aanwezig"
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr "Voltooi Productieoorder"
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr "Selecteer Productieuitvoeren"
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr "Voltooi Productieuitvoeren"
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr "Verwijder Productieuitvoeren"
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr "Geen productieordertoewijzingen gevonden"
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr "Locatie is niet opgegeven"
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr "Geen actieve productieuitvoeren gevonden"
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr "Voorraadtoewijzing bewerken"
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr "Voorraadtoewijzing verwijderen"
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr "Onvoldoende voorraad beschikbaar"
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr "Genoeg voorraad beschikbaar"
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr "Productie voorraad"
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr "Voorraad order"
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr "Voorraad toewijzen"
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Onderdelen selecteren"
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
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:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr "Specificeer voorraadtoewijzingshoeveelheid"
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
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:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr "Voorraadartikelen toewijzen aan Productieorder"
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr "Geen overeenkomende voorraadlocaties"
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr "Geen overeenkomende voorraadartikelen"
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
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:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr "Productieorder is achterstallig"
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr "Fabrikant toevoegen"
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr "Fabrikantonderdeel toevoegen"
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr "Fabrikantonderdeel bewerken"
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr "Leverancier Toevoegen"
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr "Leveranciersonderdeel Toevoegen"
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr "Gefabriceerde Onderdelen"
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr "Verwijder Fabrikantenonderdelen"
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr "Parameter verwijderen"
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr "Geen fabrikantenonderdelen gevonden"
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr "Samengesteld onderdeel"
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr "Geen parameters gevonden"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr "Parameter bewerken"
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr "Parameter verwijderen"
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr "Parameter bewerken"
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr "Parameter verwijderen"
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr "Laatst bijgewerkt"
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr "Leeftijd"
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr "Geen voorraadartikelen toegewezen aan deze zending"
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr "De volgende voorraadartikelen worden verzonden"
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr "Verzending Voltooien"
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr "Verzending Bevestigen"
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr "Geen verzendingen in behandeling gevonden"
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr "Voltooi Inkooporder"
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr "Order markeren als voltooid?"
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr "Alle artikelen zijn ontvangen"
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr "Deze order heeft artikelen die niet zijn gemarkeerd als ontvangen."
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr "Na het voltooien van de order zijn de order en de artikelen langer bewerkbaar."
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr "Inkooporder annuleren"
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr "Weet u zeker dat u deze inkooporder wilt annuleren?"
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr "Deze inkooporder kan niet geannuleerd worden"
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr "Geef inkooporder uit"
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr "Na het plaatsen van de inkooporder zijn de artikelen niet meer bewerkbaar."
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr "Verkooporder annuleren"
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr "Na annulering van de order kan de order niet meer bewerkt worden."
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr "Verkooporder aanmaken"
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr "Verkooporder bewerken"
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr "Bewerk Inkooporder"
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr "Export Order"
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr "Te bestellen aantal"
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr "Nieuwe inkooporder"
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr "Toevoegen aan inkooporder"
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr "Geen overeenkomende inkooporders"
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr "Selecteer artikelen"
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr "Ten minste één artikel moet worden geselecteerd"
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr "Order Code"
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr "Besteld"
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr "Ontvang Artikelen Inkooporder"
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr "Geen inkooporder gevonden"
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr "Order is achterstallig"
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr "Artikelen"
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr "Artikel dupliceren"
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr "Artikel wijzigen"
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr "Artikel verwijderen"
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr "Geen artikelen gevonden"
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr "Totaal"
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr "Stukprijs"
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr "Totaalprijs"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr "Dit artikel is achterstallig"
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr "Artikel ontvangen"
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr "Artikel dupliceren"
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr "Artikel bewerken"
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr "Artikel verwijderen"
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr "Kopieer regel"
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr "Bewerk regel"
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr "Verwijder regel"
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr "Kopieer Regel"
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr "Bewerk Regel"
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr "Verwijder Regel"
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr "Geen overeenkomende regel"
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr "Geen verkooporder gevonden"
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr "Ongeldige Klant"
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr "Verzending bewerken"
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr "Verzending Voltooien"
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr "Verzending verwijderen"
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr "Verzending bewerken"
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr "Verzending verwijderen"
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr "Geen overeenkomende verzending gevonden"
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr "Verzendingsreferentie"
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr "Niet verzonden"
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr "Volgen"
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr "Factuur"
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr "Voeg Verzending toe"
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr "Bevestig de voorraadtoewijzing"
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr "Voorraadartikel toewijzen aan Verkooporder"
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr "Geen verkooporder toewijzingen gevonden"
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr "Bewerk Voorraadtoewijzing"
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr "Bevestig Verwijderen"
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr "Verwijder Voorraadtoewijzing"
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr "Verzonden aan klant"
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr "Voorraadlocatie niet gespecificeerd"
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr "Wijs serienummers toe"
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr "Koop voorraad"
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr "Bereken prijs"
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn"
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn"
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr "Wijs Serienummers Toe"
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr "Werk Stukprijs Bij"
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr "Geen overeenkomende artikelen"
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr "Geen overeenkomende regels"
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr "Validatie van de BOM markeert ieder artikel als geldig"
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr "Bewerk Voorraadlocatie"
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr "Verwijder Voorraadlocatie"
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr "Toegewezen aan Verkooporder"
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr "Geen voorraadlocatie ingesteld"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr "Voorraadartikel toegewezen aan verkooporder"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr "Inkooporder bestaat niet meer"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr "Onderdeel is een assemblage"
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr "Order status"
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 f06d3b260a..46d22be260 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -29,23 +29,23 @@ msgstr "Feildetaljer kan ikke finnes i admin-panelet"
msgid "Enter date"
msgstr "Oppgi dato"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Notater"
@@ -58,23 +58,23 @@ msgstr "Verdi '{name}' vises ikke i mønsterformat"
msgid "Provided value does not match required pattern: "
msgstr "Angitt verdi samsvarer ikke med påkrevd mønster: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Oppgi passord"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Oppgi nytt passord"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Bekreft passord"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Bekreft nytt passord"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Gammelt passord"
@@ -130,7 +130,7 @@ msgstr "Ekstern server returnerte tomt svar"
msgid "Supplied URL is not a valid image file"
msgstr "Angitt URL er ikke en gyldig bildefil"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Ugyldig mengde oppgitt"
@@ -170,23 +170,23 @@ msgstr "Antall unike serienumre ({s}) må samsvare med antall ({q})"
msgid "Remove HTML tags from this value"
msgstr "Fjern HTML-koder fra denne verdien"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Uriktig formatert mønster"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Ukjent formatnøkkel spesifisert"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Mangler nødvendig formatnøkkel"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Referansefeltet kan ikke være tomt"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Referansen må samsvare påkrevet mønster"
@@ -194,350 +194,363 @@ msgstr "Referansen må samsvare påkrevet mønster"
msgid "Reference number is too large"
msgstr "Referansenummeret er for stort"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Fil mangler"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Mangler eksternlenke"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Vedlegg"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Lenke"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Lenke til ekstern URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Kommenter"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Kommentar til fil"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Bruker"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "opplastet dato"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Filnavn må ikke være tom"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Ugyldig vedleggskatalog"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Filnavn inneholder ugyldig tegn '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Filnavn mangler filtype"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Vedlegg med dette filnavnet finnes allerede"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Feil ved endring av navn"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Ugyldig valg"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Navn"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Beskrivelse"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Beskrivelse (valgfritt)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "overkategori"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Sti"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Strekkode data"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Tredjeparts strekkode-data"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Strekkode hash"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Unik hash av strekkode-data"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Eksisterende strekkode funnet"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Serverfeil"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "En feil har blitt logget av serveren."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Nummer må være gyldig"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Valuta"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Filnavn"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Ugyldig verdi"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Data fil"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Velg datafil for opplasting"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Filtypen støttes ikke"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Filen er for stor"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Ingen kolonner funnet i filen"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Ingen datalader funnet i fil"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Ingen datalader oppgitt"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Ingen datakolonner angitt"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Mangler påkrevd kolonne: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dupliser kolonne: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL-adressen til ekstern bildefil"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Tsjekkisk"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Dansk"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Gresk"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Spansk (Meksikansk)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Nederlandsk"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasilian)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Slovensk"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Kinesisk"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Bakgrunnsarbeiderkontroll mislyktes"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Helsekontroll av IvenTree system mislyktes"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Ventende"
@@ -579,8 +592,8 @@ msgstr "Tapt"
msgid "Returned"
msgstr "Returnert"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Sendt"
@@ -664,7 +677,7 @@ msgstr "Delt fra overordnet element"
msgid "Split child item"
msgstr "Delt fra underelement"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Sammenslått lagervare"
@@ -672,7 +685,7 @@ msgstr "Sammenslått lagervare"
msgid "Converted to variant"
msgstr "Konvertert til variant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Sendt til kunde"
@@ -721,27 +734,27 @@ msgstr "Overde må ikke overstige 100%"
msgid "Invalid value for overage"
msgstr "ugyldig verdi for rad"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Rediger brukerinformasjon"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Velg passord"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Passordfeltene må samsvare"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Feil passord angitt"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Systeminformasjon"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Om InvenTree"
@@ -749,44 +762,44 @@ msgstr "Om InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Bygningen må avbrytes før den kan slettes"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Ugylding valg for overordnet build"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Build ordre"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Build Ordre"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Ugylding valg for overordnet build"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Bygg ordrereferanse"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referanse"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Build order som denne build er tildelt til"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Del"
@@ -855,8 +869,8 @@ msgstr "Salg order referanse"
msgid "SalesOrder to which this build is allocated"
msgstr "Salgorder som denne build er tildelt til"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Kilde plassering"
@@ -896,21 +910,21 @@ msgstr "Byggstatus"
msgid "Build status code"
msgstr "Byggstatuskode"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Batch kode"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Batch kode for denne build output"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Opprettelsesdato"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Forventet sluttdato"
@@ -918,8 +932,8 @@ msgstr "Forventet sluttdato"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Fullført dato"
@@ -927,7 +941,7 @@ msgstr "Fullført dato"
msgid "completed by"
msgstr "fullført av"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Utstedt av"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Brukeren som utstede denne prosjekt order"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Ansvarlig"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Ekstern link"
@@ -999,11 +1013,11 @@ msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er mar
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelige lager mengde ({a})"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Lagervare er overtildelt"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Tildeling antallet må være større enn null"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Valgt lagevare ikke funnet i BOM"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Prosjekt"
@@ -1025,18 +1039,18 @@ msgstr "Prosjekt"
msgid "Build to allocate parts"
msgstr "Bygge for å tildele deler"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Lagervare"
@@ -1044,12 +1058,12 @@ msgstr "Lagervare"
msgid "Source stock item"
msgstr "Kilde lagervare"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Kilde lagervare"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Antall"
@@ -1097,249 +1110,249 @@ msgstr "Installerings informasjon"
msgid "Destination stock item"
msgstr "Målets lagervare"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Byggresultat"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Byggresultat samsvarer ikke med det overordnede bygget"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "Resultatdel samsvarer ikke med byggordre del"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Jobben er allerede fullført"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "Denne produksjonen er ikke fullt tildelt"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Angi antall for build utgang"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "Heltallsverdi kreves for sporbare deler"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Heltallsverdi kreves, materialene inneholder sporbare deler"
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Serienummer"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Angi serienummer for bygge-utganger"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "Automatisk tildeling av serienummere"
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Automatisk allokering av nødvendige elementer med tilsvarende serienummer"
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr "Følgende serienumre finnes allerede eller er ugyldige"
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr "En liste over byggeresultater må oppgis"
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Beliggenhet"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr "Sted for ferdige byggeresultater"
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Status"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr "Godta ufullstendig tildeling"
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr "Fullstendig produkt dersom lagerbeholdning ikke er fullt tildelt"
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr "Fjern tildelt lagerbeholdning"
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr "Trekk fra alle varer som allerede er tildelt dette bygget"
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr "Fjern ufullstendige resultater"
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr "Slett alle byggresultater som ikke er fullført"
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr "Godta som brukt av denne byggeordren"
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr "Fjern før du fullfører denne ordren"
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr "Overtildelt lager"
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt for byggeordre"
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr "Noen varer i lager har blitt overskredet"
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "Godta ikke tildelt"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Godta at lagervarer ikke er fullt tildelt til denne byggeordren"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "Påkrevd varer er ikke fullt tildelt"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Godta ufullstendig"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Godta at antallet byggprodukter som kreves, ikke er gjennomført"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "Antall nødvendige bygg er ikke fullført"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr "Bestillingen har ufullstendige resultater"
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "BOM varer"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr "Byggresultat"
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr "Byggresultat må peke til samme byggversjon"
-#: build/serializers.py:655
+#: build/serializers.py:665
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 byggeordren"
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "Varen må være på lager"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Tilgjengelig mengde ({q}) overskredet"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Bygge utdata må spesifiseres for allokering av sporede deler"
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Bygge utdage kan ikke spesifiseres for allokering av usporede deler"
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr "Denne lagervaren er allerede tildelt til denne byggeproduksjonen"
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr "Allokeringselementer må oppgis"
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Lagersted hvor deler skal hentes (la stå tomt for å ta fra hvilken som helst lokasjon)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "Eksluderer lokasjon"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "Ekskluder lagervarer fra denne valgte lokasjonen"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr "Byttebar vare"
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Lagervarer i flere lokasjoner kan brukes om hverandre"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "Erstatningsvare"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr "Tilatt tildelling av erstatningsdeler"
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr "Valgfrie elementer"
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr "Tildel valgfrie BOM varer til bygge ordre"
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Lager er ikke fullt tildelt til denne byggordren"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Måldato"
@@ -1445,29 +1458,29 @@ msgstr "Forfall for denne builden var %(target)s"
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Forfallt"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Fullført"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Salgsorder"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Utstedt av"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr "Prioritet"
@@ -1498,8 +1511,8 @@ msgstr "Lager kilde"
msgid "Stock can be taken from any available location."
msgstr "Lagervare kan hentes fra alle tilgengelige steder."
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Destinasjon"
@@ -1511,21 +1524,21 @@ msgstr "Målplassering er ikke spesifisert"
msgid "Allocated Parts"
msgstr "Tildelte deler"
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Parti"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Opprettet"
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr "Tildel lagervarer til bygg"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "Fjern lager allokering"
@@ -1576,7 +1589,7 @@ msgstr "Bestill nødvendige deler"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Bestill deler"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr "Slett resultat"
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "Utskrifts handlinger"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Skriv ut etiketter"
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr "Fullførte byggeresultater"
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Vedlegg"
@@ -1666,7 +1681,7 @@ msgstr "Tildeling fullført"
msgid "All untracked stock items have been allocated"
msgstr "Alle usporbar lagervarer har tildelt"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Ny byggeordre"
@@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Fil"
msgid "Select {name} file to upload"
msgstr "Velg {name} fil som skal lastes opp"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)"
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr "Innstillings verdi"
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr "Valgt verdi er ikke et gyldig alternativ"
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr "Verdien må være en boolsk verdi"
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr "Verdien må være et heltall"
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr "Nøkkelstreng må være unik"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr "Ingen gruppe"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Omstart påkrevd"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr "En innstilling har blitt endrett som krever en serveromstart"
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr "Server Instans navn"
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr "Strengbeskrivelse for serverinstansen"
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr "Bruk forekomstnavn"
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr "Bruk forekomstnavnet i tittellinjen"
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr "Begrens visning av 'about'"
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr "Vis bare `about` modal til superbrukere"
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Firmanavn"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Internt firmanavn"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "Base-URL"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "Base URL for server instans"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Standardvaluta"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Last ned fra URL"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr "Nedlastingsgrense"
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde"
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr "Krever bekreftelse"
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger."
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr "Tre dybde"
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr "Standard tredybde for trevisning. Dypere nivåer kan lastes inn ved behov."
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr "Automatisk sikkerhetskopiering"
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler"
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr "Slett gamle oppgaver"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager"
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr "Slett feillogger"
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr "Feilloggene vil bli slettet etter et angitt antall dager"
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr "Brukervarsler slettes etter antall angitte dager"
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Strekkode støtte"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Aktiver skrekkodeleser støtte"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr "Strekkode registrering forsinkelse"
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr "Strekkode tidsforsinkelse i behandling"
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr "Strekkode webcam støtte"
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr "Tillat strekkodelesning via webkamera i nettleseren"
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr "IPN regex"
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr "Regulært uttrykksmønster for matchende del IPN"
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Tilat duplisert IPN"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr "Tillat flere deler å dele samme IPN"
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "Tillat redigering av IPN"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr "Tillat å endre IPN-verdien mens du redigerer en del"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr "Kopier BOM data fra del"
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr "Kopier BOM-data som standard når du dupliserer en del"
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr "Kopier del parameterdata"
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr "Kopier parameterdata som standard ved duplisering av en del"
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr "Kopier del test data"
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr "Kopier testdata som standard ved duplisering av en del"
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr "Kopier designmaler for kategoriparametere"
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier kategori parametermaler ved oppretting av en del"
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Mal"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "Deler er maler som standard"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Montering"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr "Deler kan settes sammen fra andre komponenter som standard"
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Komponent"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr "Deler kan bli brukt som underkomponenter som standard"
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "Kjøpbar"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "Deler er kjøpbare som standard"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Salgbar"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "Deler er salgbare som standard"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Sporbar"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "Deler er sporbare som standard"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Virtuelle"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Deler er virtuelle som standard"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr "Vis import i visninger"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr "Vis importveiviseren i noen deler visninger"
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "Vis relaterte deler"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr "Vis relaterte deler i en del"
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr "Rediger fullførte salgsordrer"
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført"
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr "Referansemønster for innkjøpsordre"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr "Rediger fullførte innkjøpsordre"
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført"
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr "Aktiver passord glemt"
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr "Ativer funskjon for glemt passord på innloggingssidene"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr "Aktiver registrering"
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr "Aktiver SSO"
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr "Aktiver SSO på innloggingssidene"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "E-postadresse kreves"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr "Krevt at brukeren angi e-post ved registrering"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr "Auto-utfyll SSO brukere"
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata"
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr "E-post to ganger"
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr "Ved registrering spør brukere to ganger for e-posten"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr "Passord to ganger"
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr "Ved registrerting, spør brukere to ganger for passord"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr "Gruppe på registrering"
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering"
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr "Krev MFA"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr "Brukere må bruke flerfaktorsikkerhet."
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr "Sjekk utvidelser ved oppstart"
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Sjekk at alle programtillegg er installert ved oppstart - aktiver i containermiljøer"
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr "Sjekk plugin signaturer"
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr "Kontroller og vis signaturer for plugins"
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr "Aktiver URL integrering"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr "Aktiver tillegg for å legge til URL"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr "Aktiver navigasjonsintegrering"
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr "Aktiver plugins for å integrere inn i navigasjon"
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr "Aktiver app integrasjon"
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr "Aktiver plugins for å legge til apper"
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr "Aktiver integrering av tidsplan"
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr "Aktiver utvidelser for å kjøre planlagte oppgaver"
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr "Aktiver hendelsesintegrering"
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr "Aktiver plugins til å svare på interne hendelser"
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver"
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr "Vis abbonerte deler"
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr "Vis abbonerte deler på hjemmesiden"
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr "Vis abbonerte kategorier"
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr "Vis abbonerte delkatekorier på hjemmesiden"
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Vis nyeste deler"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Vis nyeste deler på hjemmesiden"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr "Antall nylig deler"
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr "Antall nylige deler som skal vises på indeks-side"
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr "Vis uvaliderte BOMs"
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr "Vis BOMs som venter validering på hjemmesiden"
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr "Vis nylige lagerendringer"
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr "Vis nylig endret lagervarer på hjemmesiden"
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr "Siste lagertelling"
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr "Antall nylige lagervarer som skal vises på indeksside"
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr "Vis lav lager"
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr "Vis lav lagervarer på hjemmesiden"
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr "Vis tom lagervarer"
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr "Vis lav lagerbeholdning på hjemmesiden"
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr "Vis nødvendig lagervare"
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr "Vis lagervarer som trengs for å bygge på hjemmesiden"
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr "Vis utløpt lager"
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr "Vis utløpte lagerbeholdninger på hjemmesiden"
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Del planlegging"
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr "Sjetong"
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr "Nøkkel for tilgang"
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr "Hemmelig"
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr "Delt hemmlighet for HMAC"
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr "Melding ID"
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr "Unik Id for denne meldingen"
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr "Vert"
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr "Tittel"
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr "Overskrift for denne meldingen"
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr "Brødtekst"
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr "Arbeidet med"
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr "Var arbeidet med denne meldingen ferdig?"
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Last opp fil"
@@ -3023,7 +3073,7 @@ msgstr "Last opp fil"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Sammelign felter"
@@ -3061,7 +3111,7 @@ msgstr "Beskrivelse av firmaet"
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Nettside"
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr "Link til ekstern bedriftsinformasjon"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Bilde"
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr "Produserer dette firmaet deler?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Valuta"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Standardvaluta brukt for dette firmaet"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "Produsentens varenummer"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Produsentdeler"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "Produsentens varenummer"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Produsentdeler"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr "Last ned bilde fra URL"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Kunde"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Last opp bilde"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr "Oprett ny leverandørdel"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Ny leverandørdel"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Bestill deler"
@@ -3487,7 +3527,7 @@ msgstr "Produsentdeler"
msgid "Create new manufacturer part"
msgstr "Opprett ny produsentdeler"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Ny produsentdel"
@@ -3501,11 +3541,11 @@ msgstr "Leverandør lager"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Bestillingsorder"
@@ -3524,11 +3564,11 @@ msgstr "Ny bestillingsorder"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Salgsordre"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "Ny salgsorder"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr "Tildelt lagervare"
@@ -3558,17 +3598,17 @@ msgstr "Produsenter"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Bestill del"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "Endre produsent del"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "Slett produsentdel"
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Leverandører"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr "Slett leverandørdeler"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "Slett"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr "Tildelt lagervarer"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Leverandør deler"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr "Handlinger for leverandørdeler"
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "Bestill del"
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr "Rediger Leverandørdel"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr "Dupliser leverandørdelen"
@@ -3717,7 +3757,7 @@ msgstr "Slett Leverandørdel"
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Leverandør lager"
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Leverandørordre"
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr "Koble strekkode til leverandørdelen"
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr "Oppdater tilgjengelighet"
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Spørrefilter (kommaseparert liste over nøkkel=verdiparer),"
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Filtre"
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr "Valgmuligheter"
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "Seriernummer eksisterer allerede"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr "Alle valgte leverandørdeler vil slettes"
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 ec45b64164..643e1a986e 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -29,23 +29,23 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym"
msgid "Enter date"
msgstr "Wprowadź dane"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Uwagi"
@@ -58,23 +58,23 @@ msgstr "Wartość '{name}' nie pojawia się w formacie wzoru"
msgid "Provided value does not match required pattern: "
msgstr "Podana wartość nie pasuje do wymaganego wzoru: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Wprowadź hasło"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Wprowadź nowe hasło"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Potwierdź hasło"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Potwierdź nowe hasło"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Stare hasło"
@@ -130,7 +130,7 @@ msgstr "Zdalny serwer zwrócił pustą odpowiedź"
msgid "Supplied URL is not a valid image file"
msgstr "Podany adres URL nie jest poprawnym plikiem obrazu"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
@@ -170,23 +170,23 @@ msgstr "Liczba unikalnych numerów seryjnych ({s}) musi odpowiadać ilości ({q}
msgid "Remove HTML tags from this value"
msgstr "Usuń znaczniki HTML z tej wartości"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Nieprawidłowo sformatowany wzór"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Określono nieznany format klucza"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Brak wymaganego formatu klucza"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Pole odniesienia nie może być puste"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Odniesienie musi być zgodne z wymaganym wzorem"
@@ -194,350 +194,363 @@ msgstr "Odniesienie musi być zgodne z wymaganym wzorem"
msgid "Reference number is too large"
msgstr "Numer odniesienia jest zbyt duży"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Brak pliku"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Brak zewnętrznego odnośnika"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Załącznik"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Łącze"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Komentarz"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Użytkownik"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "data przesłania"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Nazwa pliku nie może być pusta"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Nieprawidłowy katalog załącznika"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Nazwa pliku zawiera niedozwolony znak '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Brak rozszerzenia w nazwie pliku"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Załącznik o tej nazwie już istnieje"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Błąd zmiany nazwy pliku"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Błędny wybór"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Nazwa"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Opis"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Opis (opcjonalny)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "nadrzędny"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Ścieżka"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Dane kodu kreskowego"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Dane kodu kreskowego stron trzecich"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Hasz kodu kreskowego"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Unikalny hasz danych kodu kreskowego"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Znaleziono istniejący kod kreskowy"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Błąd serwera"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Błąd został zapisany w logach serwera."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Waluta"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Nazwa pliku"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Nieprawidłowa wartość"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Plik danych"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Wybierz plik danych do przesłania"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Nieobsługiwany typ pliku"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Plik jest zbyt duży"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Nie znaleziono kolumn w pliku"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Nie znaleziono wierszy danych w pliku"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Nie podano wierszy danych"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Nie podano kolumn danych"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Brakuje wymaganej kolumny: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Zduplikowana kolumna: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "Adres URL zdalnego pliku obrazu"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Czeski"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Duński"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Grecki"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Hiszpański"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Hiszpański (Meksyk)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Perski"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebrajski"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Węgierski"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Włoski"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japoński"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Koreański"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Holenderski"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norweski"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugalski"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugalski (Brazylijski)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Rosyjski"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Słoweński"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Szwedzki"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Tajski"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Turecki"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Wietnamski"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Chiński"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Sprawdzenie robotnika w tle nie powiodło się"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "W toku"
@@ -579,8 +592,8 @@ msgstr "Zagubiono"
msgid "Returned"
msgstr "Zwrócone"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Wysłane"
@@ -664,7 +677,7 @@ msgstr "Podziel z pozycji nadrzędnej"
msgid "Split child item"
msgstr "Podziel element podrzędny"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Scalone przedmioty magazynowe"
@@ -672,7 +685,7 @@ msgstr "Scalone przedmioty magazynowe"
msgid "Converted to variant"
msgstr "Przekonwertowano na wariant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Wyślij do klienta"
@@ -721,27 +734,27 @@ msgstr "Przedawnienie nie może przekroczyć 100 %"
msgid "Invalid value for overage"
msgstr "Nieprawidłowa wartość przedawnienia"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Edytuj informacje użytkownika"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Ustaw hasło"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Hasła muszą być zgodne"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Podano nieprawidłowe hasło"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Informacja systemowa"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "O InvenTree"
@@ -749,44 +762,44 @@ msgstr "O InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Nieprawidłowy wybór kompilacji nadrzędnej"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Zlecenie Budowy"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Zlecenia budowy"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Nieprawidłowy wybór kompilacji nadrzędnej"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referencja"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Komponent"
@@ -855,8 +869,8 @@ msgstr "Odwołanie do zamówienia sprzedaży"
msgid "SalesOrder to which this build is allocated"
msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Lokalizacja źródła"
@@ -896,21 +910,21 @@ msgstr "Status budowania"
msgid "Build status code"
msgstr "Kod statusu budowania"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Kod partii"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Data utworzenia"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Docelowy termin zakończenia"
@@ -918,8 +932,8 @@ msgstr "Docelowy termin zakończenia"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Data zakończenia"
@@ -927,7 +941,7 @@ msgstr "Data zakończenia"
msgid "completed by"
msgstr "zrealizowane przez"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Wydany przez"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Użytkownik, który wydał to zamówienie"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Odpowiedzialny"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Link Zewnętrzny"
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Alokowana ilość musi być większa niż zero"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Nie znaleziono wybranego elementu magazynowego w BOM"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Budowa"
@@ -1025,18 +1039,18 @@ msgstr "Budowa"
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Element magazynowy"
@@ -1044,12 +1058,12 @@ msgstr "Element magazynowy"
msgid "Source stock item"
msgstr "Lokalizacja magazynowania przedmiotu"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Ilość"
@@ -1097,249 +1110,249 @@ msgstr "Zainstaluj do"
msgid "Destination stock item"
msgstr "Docelowa lokalizacja magazynowa przedmiotu"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Numer seryjny"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Lokalizacja"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Status"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Akceptuj niekompletne"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "Element BOM"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "Towar musi znajdować się w magazynie"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "Wyklucz lokalizację"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "Zastępczy magazyn"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Data docelowa"
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Zaległe"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Zakończone"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Zamówienie zakupu"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Dodane przez"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr "Źródło magazynu"
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Przeznaczenie"
@@ -1511,21 +1524,21 @@ msgstr "Nie określono lokalizacji docelowej"
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Partia"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Utworzony"
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr "Przydziel zapasy do budowy"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "Cofnij przydział zapasów"
@@ -1576,7 +1589,7 @@ msgstr "Zamów wymagane komponenty"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Zamów komponent"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Drukuj etykiety"
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Załączniki"
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Nowe zlecenie budowy"
@@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Plik"
msgid "Select {name} file to upload"
msgstr "Wybierz plik {name} do przesłania"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr "Ustawienia wartości"
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr "Wartość musi być wartością binarną"
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr "Wartość musi być liczbą całkowitą"
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr "Ciąg musi być unikatowy"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr "Brak grupy"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Wymagane ponowne uruchomienie"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr "Zmieniono ustawienie, które wymaga restartu serwera"
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr "Użyj nazwy instancji"
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Nazwa firmy"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Wewnętrzna nazwa firmy"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "Bazowy URL"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "Bazowy adres URL dla instancji serwera"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Domyślna waluta"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Pobierz z adresu URL"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Obsługa kodu kreskowego"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Włącz obsługę skanera kodów"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr "Wyrażenie regularne IPN"
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Zezwól na powtarzający się IPN"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "Zezwól na edycję IPN"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr "Skopiuj BOM komponentu"
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Szablon"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Złożenie"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Komponent"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "Możliwość zakupu"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Możliwość sprzedaży"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Możliwość śledzenia"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Wirtualny"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Części są domyślnie wirtualne"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr "dni"
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr "Ceny wewnętrzne"
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr "Włącz drukowanie etykiet"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr "Włącz drukowanie etykiet z interfejsu WWW"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr "DPI etykiety"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr "Włącz raporty"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "Domyślna wielkość strony dla raportów PDF"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr "Włącz generowanie raportów testów"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr "Włącz opcję zapomnianego hasła"
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr "Włącz funkcję zapomnianego hasła na stronach logowania"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr "Włącz rejestrację"
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr "Włącz SSO"
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr "Włącz SSO na stronach logowania"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "Adres e-mail jest wymagany"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr "Autouzupełnianie użytkowników SSO"
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO"
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr "E-mail dwa razy"
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr "Hasło dwukrotnie"
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr "Grupuj przy rejestracji"
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr "Wymuś MFA"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych."
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr "Sprawdź wtyczki przy starcie"
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr "Włącz integrację URL"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr "Włącz wtyczki, aby dodać ścieżki URL"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr "Włącz integrację z aplikacją"
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr "Włącz wtyczki, aby dodać aplikacje"
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania"
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter"
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr "Pokaż obserwowane części"
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr "Pokaż obserwowane części na stronie głównej"
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr "Pokaż obserwowane kategorie"
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr "Pokaż obserwowane kategorie części na stronie głównej"
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Pokaż najnowsze części"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Pokaż najnowsze części na stronie głównej"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr "Pokaż niski stan magazynowy"
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr "Pokaż elementy o niskim stanie na stronie głównej"
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr "Pokaż wymagany stan zapasów"
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr "Szukaj części"
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr "Ukryj nieaktywne części"
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
-msgstr ""
+#: common/models.py:1809
+msgid "Search Parts"
+msgstr "Szukaj części"
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
-msgstr ""
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
+msgstr "Ukryj nieaktywne części"
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
-msgstr "Pokaż ilość w formularzach"
+msgid "Display stock locations in search preview window"
+msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
-msgstr "Stały pasek nawigacyjny"
+msgid "Display build orders in search preview window"
+msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr "Pokaż ilość w formularzach"
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr "Stały pasek nawigacyjny"
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr "Format daty"
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr "Preferowany format wyświetlania dat"
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Planowanie komponentów"
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Cena"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr "Punkt końcowy"
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr "Aktywny"
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr "Sekret"
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr "Współdzielony sekret dla HMAC"
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr "Id wiadomości"
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr "Unikalny identyfikator dla tej wiadomości"
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr "Host, od którego otrzymano tę wiadomość"
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr "Nagłówek"
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr "Nagłówek tej wiadomości"
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr "Zawartość"
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autor"
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Wyślij plik"
@@ -3023,7 +3073,7 @@ msgstr "Wyślij plik"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr "Opis firmy"
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Strona WWW"
@@ -3106,7 +3156,7 @@ msgstr "Punkt kontaktowy"
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Obraz"
@@ -3138,229 +3188,219 @@ msgstr "jest producentem"
msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Waluta"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr "Część bazowa"
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "Wybierz część"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Producent"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Wybierz producenta"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "Numer producenta komponentu"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Komponent producenta"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Wartość"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "Jednostki"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "Jednostki parametru"
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Dostawca"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Wybierz dostawcę"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Uwaga"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr "koszt podstawowy"
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "Opakowanie"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr "Opakowanie części"
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr "wielokrotność"
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr "Dostępne"
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr "Domyślna waluta używana dla tego dostawcy"
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Kod Waluty"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "Firma"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr "Część bazowa"
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "Wybierz część"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Producent"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Wybierz producenta"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "Numer producenta komponentu"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Komponent producenta"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Wartość"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "Jednostki"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "Jednostki parametru"
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Dostawca"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Wybierz dostawcę"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Uwaga"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr "koszt podstawowy"
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "Opakowanie"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr "Opakowanie części"
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr "wielokrotność"
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr "Dostępne"
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr "Domyślna waluta używana dla tego dostawcy"
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Utwórz zamówienie zakupu"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "Edytuj firmę"
@@ -3401,14 +3441,14 @@ msgstr "Pobierz obraz z adresu URL"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Klient"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Załaduj obrazek"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "Pobierz obraz"
@@ -3458,13 +3498,13 @@ msgstr "Utwórz nowego dostawcę części"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Nowy dostawca części"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Zamów komponenty"
@@ -3487,7 +3527,7 @@ msgstr "Części producenta"
msgid "Create new manufacturer part"
msgstr "Utwórz nową część producenta"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Nowa część producenta"
@@ -3501,11 +3541,11 @@ msgstr "Zapasy dostawcy"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Zamówienia zakupu"
@@ -3524,11 +3564,11 @@ msgstr "Nowe zamówienie zakupu"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr "Producenci"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Zamów komponent"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "Edytuj komponent producenta"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "Usuń komponent producenta"
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Dostawcy"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "Usuń"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parametry"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr "Usuń parametry"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr "Dodaj parametr"
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr "Akcje kodów kreskowych"
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "Pokaż Kod QR"
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "Zamów komponent"
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr "Skaner kodów"
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr "Utwórz nowy towar"
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr "Nowy towar"
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr "Informacja cenowa"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Stan"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Towary"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Zamówienia"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "Cennik"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Towary"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "Nowy dostawca"
@@ -3828,10 +3848,6 @@ msgstr "Firmy"
msgid "New Company"
msgstr "Nowa firma"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr "Nazwa etykiety"
@@ -3848,7 +3864,7 @@ msgstr "Etykieta"
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr "Aktywne"
@@ -3872,7 +3888,7 @@ msgstr "Wysokość [mm]"
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr "Wzór nazwy pliku"
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Filtry"
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr "Opis Zamówienia"
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr "Link do zewnętrznej witryny"
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr "Utworzony przez"
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie"
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr "Notatki do zamówienia"
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr "Odniesienie zamówienia"
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr "Status zamówienia zakupu"
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr "odebrane przez"
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr "Data wydania"
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr "Data wystawienia zamówienia"
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Data Dostawy Towaru"
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr "Wartość musi być liczbą dodatnią"
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr "Data wysyłki"
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr "wysłane przez"
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr "Ilość elementów"
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr "Zamówienie"
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr "Odebrane"
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Cena zakupu"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr "Cena zakupu jednostkowego"
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Gdzie kupujący chce przechowywać ten przedmiot?"
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr "Cena sprzedaży"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr "Jednostkowa cena sprzedaży"
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr "Wysłana ilość"
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr "Data wysyłki"
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr "Sprawdzone przez"
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr "Użytkownik, który sprawdził tę wysyłkę"
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr "Przesyłka"
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr "Numer przesyłki"
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr "Notatki do przesyłki"
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr "Numer śledzenia"
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr "Informacje o śledzeniu przesyłki"
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr "Przesyłka została już wysłana"
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie"
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr "Linia"
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr "Komponent"
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr "Zamówienie nie może zostać anulowane"
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Usuń wiersz"
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr "Dodaj element zamówienia"
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr "Oczekujące przesyłki"
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr "Akcje"
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr "ID komponentu"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr "Nazwa komponentu"
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr "Wersja"
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Słowa kluczowe"
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr "ID kategorii"
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr "Na stanie"
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "W Zamówieniu"
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Użyte w"
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr "Przydzielono"
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr "Ścieżka kategorii"
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Części"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr "IPN komponentu"
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr "Ważny"
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr "Ta opcja musi być zaznaczona"
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr "Domyślna lokalizacja"
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr "Dostępna ilość"
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "Domyślna lokalizacja dla komponentów w tej kategorii"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr "Domyślne słowa kluczowe"
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Kategoria komponentu"
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "Kategorie części"
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "Domyślna lokalizacja dla komponentów w tej kategorii"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr "Domyślne słowa kluczowe"
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr "Nieprawidłowy wybór dla części nadrzędnej"
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, 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:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr "Nazwa komponentu"
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr "Czy szablon"
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Czy ta część stanowi szablon części?"
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Czy ta część jest wariantem innej części?"
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr "Wariant"
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "Opis komponentu"
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr "Kategoria"
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr "Domyślne wygasanie"
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Czy ten komponent może być zbudowany z innych komponentów?"
-#: part/models.py:965
+#: part/models.py:934
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:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?"
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:991
+#: part/models.py:960
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:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr "Tworzenie użytkownika"
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr "Ostatnia inwentaryzacja"
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr "Data"
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr "Dane"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr "Unikalny wartość ID komponentu"
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr "Wartość IPN części"
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr "Poziom"
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "Opcjonalne"
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Dziedziczone"
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr "Waluta zakupu tego towaru"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr "Kopiuj obraz"
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Kopiuj BOM"
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr "Kopiuj parametry"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr "Duplikuj część"
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr "Usuń istniejące dane"
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr "Pomiń nieprawidłowe wiersze"
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze"
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr "Wyczyść istniejący BOM"
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr "Nie podano ilości"
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr "Nieprawidłowa ilość"
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "Nie masz uprawnień do edycji BOM."
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr "Usuń elementy"
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr "Masz włączone powiadomienia dla tej kategorii"
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr "Włącz powiadomienia dla tej kategorii"
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr "Akcje kategorii"
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr "Edytuj kategorię"
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr "Edytuj kategorię"
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr "Usuń kategorię"
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr "Usuń kategorię"
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr "Kategoria najwyższego poziomu"
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Podkategorie"
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "Części (w tym podkategorie)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr "Utwórz nową część"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr "Nowy komponent"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr "Opcje"
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr "Ustaw kategorię"
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr "Ustaw kategorię"
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr "Drukuj etykiety"
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "Parametry części"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr "Stwórz nową kategorię komponentów"
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "Nowa kategoria"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr "Utwórz nową kategorię części"
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr "Odśwież"
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr "Warianty Części"
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr "Utwórz nowy wariant"
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr "Nowy wariant"
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr "Powiązane części"
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr "Dodaj powiązane"
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr "Zestawienie materiałowe"
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr "Akcje eksportu"
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Eksportuj BOM"
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr "Drukuj raport BOM"
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr "Wgraj BOM"
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr "Weryfikuj BOM"
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr "Dodaj część do BOM"
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr "Złożenia"
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr "Dostawcy Części"
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr "Producenci części"
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr "Powiązane części"
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr "Dodaj powiązaną część"
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr "Wybierz format pliku"
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "Drukuj etykietę"
@@ -5991,7 +6114,7 @@ msgstr "Pokaż informacje o cenach"
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr "Akcje magazynowe"
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "Część jest wirtualna (nie fizyczna)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr "Nieaktywny"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr "Przypisane do zamówień sprzedaży"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr "Minimalny poziom stanu magazynowego"
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr "Ostatni numer seryjny"
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr "Szukaj numeru seryjnego"
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr "Kod QR części"
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr "Oblicz"
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr "Nie znaleziono pasujących obrazów"
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr "Ukryj szczegóły części"
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr "Cennik dostawcy"
@@ -6136,6 +6263,7 @@ msgstr "Cena jednostkowa"
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr "Całkowity Koszt"
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr "Warianty"
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Stan"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "Cennik"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr "Planowanie"
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr "Szablony testowe"
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr "Ostatnia aktualizacja"
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr "Brak w magazynie"
@@ -6327,32 +6471,28 @@ msgstr "Nieznana baza danych"
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr "Kod QR części"
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr "Wybierz obrazek części"
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr "Zaktualizowano zdjęcie części"
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr "Nie znaleziono obrazka części"
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr "Cennik części"
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr "Ustawienie jednokrotnego wyboru"
msgid "A setting with multiple choices"
msgstr "Ustawienie wielokrotnego wyboru"
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr "Źródłowy adres URL"
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr "Źródło pakietu - może to być niestandardowy rejestr lub ścieżka VCS"
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr "Nazwa pakietu"
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr "Nazwa pakietu wtyczki - może również zawierać wskaźnik wersji"
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr "Potwierdź instalację wtyczki"
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr "Spowoduje to zainstalowanie tej wtyczki w bieżącej instancji. Instancja przejdzie do trybu konserwacji."
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr "Filtr części"
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr "Wycinek"
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "Numer Seryjny"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr "Wynik"
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr "Zainstalowane elementy"
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr "Numer seryjny"
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr "ID lokalizacji"
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr "Ścieżka lokalizacji"
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr "ID części dostawcy"
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr "Zainstalowane w"
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr "Data ważności"
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr "Właściciel"
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr "Wybierz właściciela"
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr "Nadrzędny towar"
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr "Część podstawowa"
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr "Wybierz pasującą część dostawcy dla tego towaru"
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "Lokacje stanu magazynowego"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr "Właściciel"
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr "Wybierz właściciela"
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr "Nadrzędny towar"
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr "Część podstawowa"
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr "Wybierz pasującą część dostawcy dla tego towaru"
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr "Ilość w magazynie"
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr "Usuń po wyczerpaniu"
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr "Ilość musi być liczbą całkowitą"
-#: stock/models.py:1329
+#: stock/models.py:1341
#, 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:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr "Notatki do wpisu"
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr "Należy podać wartość dla tego testu"
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr "Nazwa testu"
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr "Wynik testu"
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr "Cena zakupu tego towaru"
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr "Część musi być dostępna do sprzedaży"
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr "Skanuj do lokacji"
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr "Akcje druku"
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr "Przelicz stan magazynowy"
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr "Przenieś stan magazynowy"
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr "Element nadrzędny"
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr "Nie ustawiono producenta"
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr "Tylko do odczytu"
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr "poprzednia strona"
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr "następna strona"
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr "Lokacje nie są ustawione"
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr "Testy"
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr "Termin minął"
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Ostrzeżenie"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "Wróć do stanu magazynowego"
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "Edytuj lokację"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr "Podlokalizacje"
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "Lokacje stanu magazynowego"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "Nowa lokalizacja"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr "Elementy podrzędne"
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr "Odmowa dostępu"
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr "Import części"
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr "Wtyczki"
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr "Etap"
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Wiadomość"
@@ -7931,71 +8097,71 @@ msgstr "Nie ustawiono wartości"
msgid "Edit setting"
msgstr "Edytuj ustawienie"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr "Edytuj ustawienie wtyczki"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr "Edytuj ustawienie globalne"
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr "Edytuj ustawienie użytkownika"
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr "Nie znaleziono szablonów parametrów kategorii"
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr "Edytuj szablon"
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr "Usuń szablon"
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr "Nie znaleziono szablonów parametrów części"
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr "Ustawienia globalne"
msgid "Server Configuration"
msgstr "Konfiguracja serwera"
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr "Kategorie"
@@ -8514,11 +8680,11 @@ msgstr "Wprowadź token wygenerowany przez aplikację:"
msgid "Verify"
msgstr "Zweryfikuj"
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr "Dodaj link"
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "Dodaj załącznik"
@@ -8526,7 +8692,7 @@ msgstr "Dodaj załącznik"
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr "Wymagana ilość"
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr "Minimalna ilość"
@@ -8595,11 +8761,11 @@ msgstr "Minimalna ilość"
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr "Brak odpowiedzi"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr "Brak odpowiedzi z serwera InvenTree"
@@ -8611,27 +8777,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:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr "Błąd 401: Nieuwierzytelniony"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr "Dane uwierzytelniające nie zostały dostarczone"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr "Błąd 403: Odmowa dostępu"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
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:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr "Błąd 404: Nie znaleziono zasobu"
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr "Żądany zasób nie mógł być zlokalizowany na serwerze"
@@ -8643,11 +8809,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:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr "Błąd 408: Przekroczony limit czasu"
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr "Limit czasu połączenia podczas żądania danych z serwera"
@@ -8659,27 +8825,27 @@ msgstr "Nieobsługiwany kod błędu"
msgid "Error code"
msgstr "Kod błędu"
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr "Nie znaleziono załączników"
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr "Edytuj załącznik"
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr "Data przesłania"
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr "Edytuj załącznik"
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr "Usuń załącznik"
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr "Nieznana odpowiedź serwera"
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr "Niepoprawna odpowiedź serwera"
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr "Rozłącz"
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr "Wyświetl dane wiersza"
msgid "Row Data"
msgstr "Dane wiersza"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Zamknij"
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr "Dodaj zamiennik"
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr "Zobacz BOM"
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr "Ostatni numer seryjny"
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr "Wyjście"
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr "Ilość za"
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Wybierz części"
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr "Wybierz"
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr "Brak informacji o użytkowniku"
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr "Dodaj producenta"
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr "Dodaj część producenta"
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr "Dodaj dostawcę"
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte"
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr "Dodaj nową firmę"
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr "Usuń parametry"
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr "Nie znaleziono parametrów"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr "Edytuj Parametr"
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr "Usuń parametr"
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr "Edytuj Parametr"
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr "Usuń parametr"
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr "Edytuj przedział cenowy"
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr "Ostatnio aktualizowane"
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr "Edytuj przedział cenowy"
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr "Pozostaw ten formularz otwarty"
msgid "Enter a valid number"
msgstr "Wprowadź poprawny numer"
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Istnieją błędy formularza"
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr "Nie znaleziono wyników"
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr "Wyszukiwanie"
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr "Wyczyść wejście"
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr "Kolumna pliku"
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr "Nazwa pola"
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr "Wybór Kolumn"
@@ -9519,7 +9685,7 @@ msgstr "TAK"
msgid "NO"
msgstr "Nie"
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr "Wybierz przedmioty magazynowe"
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr "Wybierz szablon etykiety"
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "Anuluj"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Zatwierdź"
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr "Tytuł formularza"
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr "Oczekiwanie na serwer..."
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr "Pokaż informacje o błędzie"
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr "Zaakceptuj"
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr "Wczytywanie danych"
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr "Niepoprawna odpowiedź serwera"
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr "Brak danych formularza z odpowiedzi serwera"
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr "Błąd podczas wysyłania danych formularza"
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr "Brak danych w formularzu odpowiedzi JSON"
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr "400: Nieprawidłowe zapytanie"
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr "Serwer zwrócił kod błędu 400"
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr "Błąd podczas żądania danych formularza"
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr "Oznacz zamówienie jako zakończone?"
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr "Edytuj zamówienie zakupu"
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr "Kod zamówienia"
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr "Zamówione"
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr "Ilość do otrzymania"
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr "Potwierdź odbiór elementów"
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr "Przedmioty"
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr "Razem"
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr "Cena jednostkowa"
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr "Cena całkowita"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr "Nie znaleziono zamówień sprzedaży"
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr "Nieprawidłowy klient"
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr "Edytuj wysyłkę"
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr "Kompletna wysyłka"
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr "Usuń wysyłkę"
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr "Edytuj wysyłkę"
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr "Usuń wysyłkę"
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr "Nie odnaleziono pasujących przesyłek"
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr "Numer referencyjny przesyłki"
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr "Nie wysłano"
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr "Śledzenie"
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr "Potwierdź przydział zapasów"
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr "Cena zakupu"
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr "Oblicz cenę"
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr "Zaktualizuj cenę jednostkową"
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr "Atrybuty części"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr "Edytuj kategorię części"
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr "Czy na pewno chcesz usunąć tę kategorię części?"
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr "Utwórz część"
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr "Utwórz kolejną część po tej"
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr "Część utworzona pomyślnie"
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr "Edytuj część"
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr "Część zmodyfikowana"
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr "Utwórz wariant części"
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr "Masz włączone powiadomienia dla tej części"
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr "Masz włączone powiadomienia dla tej części"
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr "Włącz powiadomienia dla tej części"
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr "Zostałeś wypisany z powiadomień dla tej części"
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr "Obserwowane części"
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr "Nie znaleziono wariantów"
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr "Nie znaleziono części"
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr "Brak kategorii"
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr "Wyświetl jako listę"
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr "Wyświetl jako siatkę"
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr "Ustaw kategorię części"
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr "Wyświetl jako drzewo"
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr "Obserwowana kategoria"
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "Edytuj ${human_name}"
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "Usuń ${human_name}"
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr "Czy na pewno chcesz skasować tą lokację?"
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr "Czy na pewno chcesz usunąć tą część?"
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr "Przenieś"
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr "Weź"
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr "Dodaj stan"
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr "Dodaj"
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr "Usuń stan magazynowy"
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr "BRAK WYNIKÓW"
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr "Dodaj wynik testu"
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr "W produkcji"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr "Kod statusu musi być wybrany"
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr "Szczegóły"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr "Lokalizacja już nie istnieje"
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr "Zamówienie zakupu już nie istnieje"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr "Klient już nie istnieje"
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr "Element magazynowy już nie istnieje"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr "Dodano"
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr "Usunięto"
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr "Uwzględnij podlokalizacje"
@@ -10973,218 +11138,218 @@ msgstr "Uwzględnij podlokalizacje"
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr "Obesrwowane"
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr "Numer seryjny"
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr "Kod partii"
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr "Aktywne części"
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr "Część jest zespołem"
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr "Jest przydzielony"
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr "Przedmiot został przydzielony"
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr "W produkcji"
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr "Obejmuje warianty"
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr "Zainstalowane"
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr "Posiada cenę zakupu"
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr "Test pomyślny"
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr "Przypisane do mnie"
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr "Status zamówienia"
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr "Pokaż aktywne części"
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr "Posiada IPN"
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr "Część posiada wewnętrzny numer części"
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr "Możliwość zakupu"
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr "Użytkownicy"
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr "Informacje osobiste"
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr "Uprawnienia"
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr "Ważne daty"
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "Uprawnienia nadane"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr "Grupa"
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "Widok"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "Uprawnienie do wyświetlania przedmiotów"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "Uprawnienie do dodawania przedmiotów"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr "Zmień"
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "Uprawnienie do edycji przedmiotów"
-#: users/models.py:225
+#: users/models.py:231
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 ea3f9d6171..00f56d3070 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -29,23 +29,23 @@ msgstr "Detalhes do erro podem ser encontrados no painel de administrador"
msgid "Enter date"
msgstr "Insira uma Data"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Anotações"
@@ -58,23 +58,23 @@ msgstr "Valor '{name}' não está no formato correto"
msgid "Provided value does not match required pattern: "
msgstr "O valor fornecido não corresponde ao padrão exigido: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Digite a senha"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Insira uma nova senha"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Confirmar senha"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Confirmar nova senha"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Senha atual"
@@ -130,7 +130,7 @@ msgstr "O servidor remoto retornou resposta vazia"
msgid "Supplied URL is not a valid image file"
msgstr "A URL fornecida não é um arquivo de imagem válido"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Quantidade invalida"
@@ -170,23 +170,23 @@ msgstr "Numero de numeros seriais ({s}) precisa bater com quantidade ({q})"
msgid "Remove HTML tags from this value"
msgstr "Remova as \"tags\" HTML deste valor"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Padrão formatado incorretamente"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Chave de formato desconhecida especificada"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Chave de formato obrigatória ausente"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "O campo de referência não pode ficar vazio"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "A referência deve corresponder ao padrão exigido"
@@ -194,350 +194,363 @@ msgstr "A referência deve corresponder ao padrão exigido"
msgid "Reference number is too large"
msgstr "O número de referência é muito grande"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Arquivo nao encontrado"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Link externo nao encontrado"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Anexo"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Selecione arquivo para anexar"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Link para URL externa"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Comentario"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Comentario sobre arquivo"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Usuario"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "data de upload"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Nome do arquivo nao pode estar vazio"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Diretorio para anexo invalido"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Arquivo contem characteres ilegais '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Arquivo sem extensao"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Anexo ja existe"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Erro renomeando o arquivo"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Escolha invalida"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Nome"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Descricao"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Descricao (opicional)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "parent"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Caminho"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Dados de código de barras"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Dados de código de barras de terceiros"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Hash de código de barras"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Hash exclusivo de dados de código de barras"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Código de barras existente encontrado"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Erro de servidor"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Log de erro salvo pelo servidor."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Preicsa ser um numero valido"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Nome do arquivo"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Arquivo de dados"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Selecione um arquivo de dados para enviar"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Tipo de arquivo não suportado"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "O arquivo é muito grande"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Nenhuma coluna encontrada no arquivo"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Nenhuma linha de dados encontrada no arquivo"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Nenhuma linha de dados fornecida"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Nenhuma coluna de dados fornecida"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Falta a coluna obrigatória: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Coluna duplicada: \"{col}\""
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Endereço da URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL do arquivo de imagem remoto"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Baixar imagens de URL remota não está habilitado"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Tcheco"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Dinamarquês"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Alemão"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Grego"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Inglês"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Espanhol"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Espanhol (Mexicano)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Persa"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Francês"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebraico"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Húngaro"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japonês"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Holandês"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norueguês"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polonês"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr ""
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr ""
@@ -579,8 +592,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr ""
@@ -664,7 +677,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr ""
@@ -672,7 +685,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr ""
@@ -721,27 +734,27 @@ msgstr ""
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr ""
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr ""
@@ -749,44 +762,44 @@ msgstr ""
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr ""
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr ""
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr ""
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr ""
@@ -855,8 +869,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr ""
@@ -896,21 +910,21 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr ""
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr ""
@@ -918,8 +932,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr ""
@@ -927,7 +941,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr ""
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr ""
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr ""
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr ""
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index 3c9abbfb03..ecdf665f0f 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -29,23 +29,23 @@ msgstr "Подробности об ошибке можно найти в пан
msgid "Enter date"
msgstr "Введите дату"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Заметки"
@@ -58,23 +58,23 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr "Предоставленное значение не соответствует требуемому формату: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Введите пароль"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Введите новый пароль"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Подтвердить пароль"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Подтвердите новый пароль"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Старый пароль"
@@ -130,7 +130,7 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Файл не найден"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Отсутствует внешняя ссылка"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Вложения"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Ссылка"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Ссылка на внешний URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Комментарий"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Комментарий к файлу"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Пользователь"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "дата загрузки"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Имя файла не должно быть пустым"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Неверная директория вложений"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Имя файла содержит запрещенные символы '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Отсутствует расширение для имени файла"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Вложение с таким именем файла уже существует"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Ошибка переименования файла"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Неверный выбор"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Название"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Описание"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Описание (необязательно)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "родитель"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Путь"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Валюта"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Имя файла"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Неверное значение"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Файл данных"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Выберите файл данных для загрузки"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Неподдерживаемый тип файла"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Файл слишком большой"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Столбцы в файле не найдены"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Повторяющийся столбец: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Ссылка"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Чешский"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Датский"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Немецкий"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Греческий"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Английский"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Испанский"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Испанский (Мексика)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Фарси / Персидский"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Французский"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Иврит"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Венгерский"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Итальянский"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Японский"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Корейский"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Голландский"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Норвежский"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Польский"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Португальский"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Португальский (Бразильский диалект)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Русский"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Словенский"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Шведский"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Тайский"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Турецкий"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Вьетнамский"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Китайский"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Проверка фонового работника не удалась"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Ошибка проверки состояния системы InvenTree"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Ожидаемый"
@@ -579,8 +592,8 @@ msgstr "Потерян"
msgid "Returned"
msgstr "Возвращено"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Доставлено"
@@ -664,7 +677,7 @@ msgstr "Отделить от родительского элемента"
msgid "Split child item"
msgstr "Разбить дочерний элемент"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Объединенные позиции на складе"
@@ -672,7 +685,7 @@ msgstr "Объединенные позиции на складе"
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Отправлено клиенту"
@@ -721,27 +734,27 @@ msgstr "Перегрузка не может превысить 100%"
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Редактировать информацию о пользователе"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Установить пароль"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Пароли должны совпадать"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Информация о системе"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr ""
@@ -749,44 +762,44 @@ msgstr ""
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Неверный выбор для родительской сборки"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Порядок сборки"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Порядок сборки"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Неверный выбор для родительской сборки"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Ссылка на заказ"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Отсылка"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Детали"
@@ -855,8 +869,8 @@ msgstr "Отсылка на заказ"
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Расположение источника"
@@ -896,21 +910,21 @@ msgstr "Статус сборки"
msgid "Build status code"
msgstr "Код статуса сборки"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Код партии"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Код партии для этого вывода сборки"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Дата создания"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Целевая дата завершения"
@@ -918,8 +932,8 @@ msgstr "Целевая дата завершения"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты."
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Дата завершения"
@@ -927,7 +941,7 @@ msgstr "Дата завершения"
msgid "completed by"
msgstr "выполнено"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Выдал/ла"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Пользователь, выпустивший этот заказ на сборку"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Ответственный"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Внешняя ссылка"
@@ -999,11 +1013,11 @@ msgstr "Элемент сборки должен указать вывод сб
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Предмет на складе перераспределен"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Выделенное количество должно быть больше нуля"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Выбранная единица хранения не найдена в BOM"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Сборка"
@@ -1025,18 +1039,18 @@ msgstr "Сборка"
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Предметы на складе"
@@ -1044,12 +1058,12 @@ msgstr "Предметы на складе"
msgid "Source stock item"
msgstr "Исходный складской предмет"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Исходный складской предмет"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Количество"
@@ -1097,249 +1110,249 @@ msgstr "Установить в"
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Результат сборки не совпадает с родительской сборкой"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Результат этой сборки уже помечен как завершенный"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Введите количество для вывода сборки"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Серийные номера"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Введите серийные номера для результатов сборки"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Расположение"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Статус"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "BOM Компонент"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "Компонент должен быть в наличии"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Превышено доступное количество ({q})"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Целевая дата"
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Просрочено"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Завершённые"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Заказ покупателя"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Выдано"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Назначение"
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Партия"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Создано"
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Заказать детали"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "Печать"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Приложения"
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Новый заказ на сборку"
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr "Выберите {name} файл для загрузки"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Требуется перезапуск"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Название компании"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Внутреннее название компании"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "Базовая ссылка"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "Базовая ссылка для экземпляра сервера"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Валюта по умолчанию"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Скачать по ссылке"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Разрешить повторяющиеся IPN"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "Разрешить редактирование IPN"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Шаблон"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "По умолчанию детали являются шаблонами"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Сборка"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Компонент"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Можно продавать"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Отслеживание"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "По умолчанию детали являются отслеживаемыми"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "Показывать связанные детали"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Режим отладки"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr "Необходимо указать EMail"
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr "Показывать детали, на которые включены уведомления"
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr "Показывать детали, на которые включены уведомления, на главной странице"
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr "Показывать категории, на которые включены уведомления"
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr "Показывать категории, на которые включены уведомления, на главной странице"
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Показывать последние детали"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Показывать последние детали на главной странице"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr "Показывать непроверенные BOMы"
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr "Показывать BOMы, ожидающие проверки, на главной странице"
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr "Показывать изменившиеся складские запасы"
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице"
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr "Показывать низкие складские запасы"
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице"
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr "Показывать закончившиеся детали"
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr "Показывать закончившиеся на складе единицы хранения на главной странице"
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr "Показывать требуемые детали"
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr "Показывать требуемые для сборки единицы хранения на главной странице"
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr "Показывать просрочку"
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице"
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr "Показывать залежалые"
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr "Показывать залежалые единицы хранения на главной странице"
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr "Показывать незавершённые сборки"
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr "Показывать незавершённые сборки на главной странице"
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr "Показывать просроченные сборки"
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr "Показывать просроченные сборки на главной странице"
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Цена"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Загрузить файл"
@@ -3023,7 +3073,7 @@ msgstr "Загрузить файл"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr "Описание компании"
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "Сайт"
@@ -3106,7 +3156,7 @@ msgstr "Контактное лицо"
msgid "Link to external company information"
msgstr "Ссылка на описание компании"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Изображение"
@@ -3138,229 +3188,219 @@ msgstr "производитель"
msgid "Does this company manufacture parts?"
msgstr "Является ли компания производителем деталей?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Валюта"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Для этой компании используется валюта по умолчанию"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr "Базовая деталь"
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "Выберите деталь"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Производитель"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Выберите производителя"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "Код производителя"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr "Ссылка на сайт производителя"
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "Деталь производителя"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "Наименование параметра"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Значение"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "Значение параметра"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "Ед.изм"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "Единицы измерения"
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Поставщик"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Выберите поставщика"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr "Код поставщика"
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr "Ссылка на сайт поставщика"
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Заметка"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "Упаковка"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr "Для этого поставщика используется валюта по умолчанию"
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Код валюты"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "Компания"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr "Базовая деталь"
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "Выберите деталь"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Производитель"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Выберите производителя"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "Код производителя"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr "Ссылка на сайт производителя"
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "Деталь производителя"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "Наименование параметра"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Значение"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "Значение параметра"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "Ед.изм"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "Единицы измерения"
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Поставщик"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Выберите поставщика"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr "Код поставщика"
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr "Ссылка на сайт поставщика"
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Заметка"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "Упаковка"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr "Для этого поставщика используется валюта по умолчанию"
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Создать заказ на закупку"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr "Редактировать информацию о компании"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "Редактировать компанию"
@@ -3401,14 +3441,14 @@ msgstr "Скачать изображение по ссылке"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Покупатель"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "Телефон"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "Загрузить изображение"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "Скачать изображение"
@@ -3458,13 +3498,13 @@ msgstr "Создать новую деталь поставщика"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Новая деталь поставщика"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "Заказать детали"
@@ -3487,7 +3527,7 @@ msgstr "Детали производителей"
msgid "Create new manufacturer part"
msgstr "Создать новую деталь производителя"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "Новая деталь производителя"
@@ -3501,11 +3541,11 @@ msgstr "Склад поставщика"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Заказы на закупку"
@@ -3524,11 +3564,11 @@ msgstr "Новый заказ на закупку"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Заказы на продажу"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "Новый заказ на продажу"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr "Производители"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Поставщики"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr "Удалить деталь поставщика"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "Удалить"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Параметры"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr "Удалить параметры"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr "Добавить параметр"
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Деталь поставщика"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr "Действия со штрих-кодом"
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr "Редактировать деталь поставщика"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr "Создать единицу хранения"
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr "Новая единица хранения"
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr "Информация о цене"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Склад"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Детали на складе"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Заказы"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Детали на складе"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "Новый поставщик"
@@ -3828,10 +3848,6 @@ msgstr "Компании"
msgid "New Company"
msgstr "Новая компания"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr "Высота [мм]"
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Фильтры"
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "Компания, в которой детали заказываются"
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr "Компания, которой детали продаются"
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Закупочная цена"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr "Цена продажи"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr "Курс покупки валюты"
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr "Введите код партии для поступающих единиц хранения"
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество"
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr "Курс продажи валюты"
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Удалить строку"
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr "Действия"
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr "Артикул"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr "Наименование детали"
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr "Версия"
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Ключевые слова"
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr "Код категории"
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr "Минимальный запас"
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr "На складе"
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Сборки"
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr "Путь к категории"
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Детали"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr "IPN"
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr "Место хранения по умолчанию"
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr "Доступный запас"
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "Место хранения по умолчанию для деталей этой категории"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr "Ключевые слова по умолчанию"
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr "Ключевые слова по умолчанию для деталей этой категории"
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Категория детали"
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "Место хранения по умолчанию для деталей этой категории"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr "Ключевые слова по умолчанию"
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr "Ключевые слова по умолчанию для деталей этой категории"
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr "Наименование детали"
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr "Шаблон"
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Эта деталь является шаблоном для других деталей?"
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Эта деталь является разновидностью другой детали?"
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr "Разновидность"
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "Описание детали"
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr "Категория"
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr "Категория"
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "Внутренний код детали"
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Версия детали"
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr "Где обычно хранится эта деталь?"
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr "Минимально допустимый складской запас"
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Может ли эта деталь быть создана из других деталей?"
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr "Может ли эта деталь использоваться для создания других деталей?"
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?"
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?"
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Может ли эта деталь быть продана покупателям?"
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Эта деталь актуальна?"
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Эта деталь виртуальная, как программный продукт или лицензия?"
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr "Родительская деталь"
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr "Артикул или наименование детали"
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr "Значение IPN"
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr "Часть 1"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr "Часть 2"
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr "Валюта покупки этой единицы хранения"
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr "Дублировать деталь"
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr "Копировать параметры категории"
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr "Подходящая деталь не найдена"
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "У вас нет прав редактировать BOM."
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr "Действия с BOM"
@@ -5688,85 +5805,89 @@ msgstr "Действия с BOM"
msgid "Delete Items"
msgstr "Удалить элементы"
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr "Вы подписаны на уведомления для данной категории"
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr "Включить уведомления для данной категории"
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr "Действия с категорией"
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr "Редактировать категорию"
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr "Редактировать категорию"
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr "Удалить категорию"
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr "Удалить категорию"
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Подкатегории"
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "Детали (включая подкатегории)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr "Создать новую деталь"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr "Новая деталь"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr "Настройки"
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr "Укажите категорию"
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr "Укажите категорию"
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "Параметры детали"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr "Создать новую категорию деталей"
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr "Новая категория"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr "Создать категорию деталей"
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr "Обновить"
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr "Разновидности детали"
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr "Создать новую разновидность"
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr "Новая разновидность"
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr "Спецификация"
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr "Экспорт"
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Экспорт BOM"
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr "Сборки"
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr "Поставщики"
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr "Действия со складом"
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr "Эта деталь является разновидностью %(link)s"
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr "Минимальный складской запас"
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr "Подходящие изображения не найдены"
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr "Разновидности"
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Склад"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr "Неизвестная база данных"
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr "Изображение детали не найдено"
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr "Автор не найден"
msgid "No date found"
msgstr "Дата не найдена"
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr "Исходная ссылка"
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "Серийный номер"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr "Код места хранения"
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr "Код детали поставщика"
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr "Код сборки"
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr "Родительская единица хранения"
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr "Базовая деталь"
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Место хранения"
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "Места хранения"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr "Родительская единица хранения"
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr "Базовая деталь"
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr "Код партии для этой единицы хранения"
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr "Исходная сборка"
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr "Удалить при обнулении"
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr "Удалить эту единицу хранения при обнулении складского запаса"
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr "Заметки о единице хранения"
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr "Деталь не является отслеживаемой"
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "Серийные номера уже существуют"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr "Выбранная деталь отсутствует в спецификации"
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr "Выбранная компания не является покупателем"
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr "Установленные единицы хранения"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr "Установить единицу хранения"
@@ -7214,7 +7369,7 @@ msgstr "Установить единицу хранения"
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr "Редактировать единицу хранения"
msgid "Delete stock item"
msgstr "Удалить единицу хранения"
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr "Родительский элемент"
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Предупреждение"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr "Действия с местом хранения"
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "Редактировать место хранения"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr "Удалить место хранения"
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr "Ответственный за место хранения"
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr "Места хранения"
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "Места хранения"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr "Создать новое место хранения"
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "Новое место хранения"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr "Места хранения"
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr "Доступ запрещён"
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr "Шаблон параметра детали"
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr "Настройки плагинов"
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr "Изменить настройки"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr "Изменить настройки плагинов"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr "Изменить глобальные настройки"
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr "Изменить настройки пользователя"
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr "Шаблоны параметров категории не найдены"
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr "Редактировать шаблон"
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr "Удалить шаблон"
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr "Шаблоны параметров детали не найдены"
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Идентификатор"
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr "Глобальные настройки"
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr "Минимальное количество"
@@ -8595,11 +8761,11 @@ msgstr "Минимальное количество"
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr "Ошибка 400: Некорректный запрос"
msgid "API request returned error code 400"
msgstr "API-запрос вернул код ошибки 400"
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr "Ошибка 401: Авторизация не выполнена"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr "Ошибка 403: Доступ запрещён"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr "У вас нет прав доступа к этой функции"
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr "Ошибка 404: Ресурс не найден"
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr "Ошибка 405: Метод не разрешён"
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr "Ошибка 408: Таймаут"
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr "Необработанная ошибка"
msgid "Error code"
msgstr "Код ошибки"
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr "Вложение не найдено"
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr "Редактировать элемент BOM"
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr "Удалить элемент BOM"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr "Элементы BOM не найдены"
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr "Унаследовано от родительского BOM"
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr "Добавить производителя"
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr "Добавить деталь производителя"
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr "Редактировать деталь производителя"
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr "Добавить поставщика"
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr "Добавить деталь поставщика"
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr "Все выбранные детали поставщика будут удалены"
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr "Добавить новую компанию"
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr "Информация о компании не найдена"
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr "Удалить параметры"
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr "Информация о детали производителя не найдена"
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr "Деталь-шаблон"
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr "Параметры не найдены"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr "Редактировать параметр"
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr "Удалить параметр"
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr "Редактировать параметр"
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr "Удалить параметр"
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr "Информация о детали поставщика не найдена"
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr "Редактировать деталь поставщика"
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr "Удалить деталь поставщика"
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr "Последнее обновление"
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Форма содержит ошибки"
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr "Не найдено"
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "Отменить"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Подтвердить"
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr "Ошибка отправки данных формы"
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr "Ошибка 400: Некорректный запрос"
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr "Сервер вернул код ошибки 400"
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr "Ошибка запроса данных формы"
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr "Отмена этого заказа означает, что заказ нельзя будет редактировать."
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr "Редактировать заказ на закупку"
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr "Добавить код партии"
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr "Заказов на закупку не найдено"
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr "Общая стоимость"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr "Заказы на продажу не найдены"
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr "Подтвердите выделение запасов"
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr "Атрибуты детали"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr "Настройки создания детали"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr "Настройки дублирования детали"
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr "Добавить категорию"
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr "Копировать параметры категории"
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr "Родительская категория"
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr "Редактировать категорию"
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr "Вы уверены, что хотите удалить эту категорию?"
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr "Удалить категорию"
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr "Создать деталь"
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr "Создать ещё одну деталь после этой"
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr "Деталь создана успешно"
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr "Создать разновидность детали"
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr "Вы подписаны на уведомления для данного элемента"
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr "Вы подписались на уведомления для данного элемента"
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr "Включить уведомления для данного элемента"
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr "Вы отписались от уведомлений для данного элемента"
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr "Отслеживаемая деталь"
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr "Разновидности не найдены"
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr "Детали не найдены"
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr "Нет категории"
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr "Список"
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr "Таблица"
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr "Укажите категорию"
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr "Дерево"
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr "Вы уверены, что хотите удалить место хранения?"
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr "Создано несколько единиц хранения"
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr "Предупреждение: Операция объединения не может быть отменена"
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr "Следующие данные будут потеряны в процессе объединения"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr "История складских перемещений будет удалена для объединённых элементов"
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr "Информация о деталях поставщика будет удалена для объединённых элементов"
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr "Код партии"
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr "Статус сборки"
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr "Права доступа"
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "Права доступа"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "Вид"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "Разрешение на просмотр элементов"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "Разрешение на добавление элементов"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "Разрешение на редактирование элементов"
-#: users/models.py:225
+#: users/models.py:231
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 39df16559c..ba715fba26 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -29,23 +29,23 @@ msgstr "Napaka, podrobnosti vidne v pogledu administratorja"
msgid "Enter date"
msgstr "Vnesi datum"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Zapiski"
@@ -58,23 +58,23 @@ msgstr "Vrednost '{name}' ni v predpisanem formatu"
msgid "Provided value does not match required pattern: "
msgstr "Podana vrednost se ujema s predpisanim vzorcem: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Vnesite geslo"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Vnesite novo geslo"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Potrdite geslo"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Potrdite novo geslo"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Staro geslo"
@@ -130,7 +130,7 @@ msgstr "Oddaljeni server vrnil prazen odziv"
msgid "Supplied URL is not a valid image file"
msgstr "Podani URL ni veljavna slikovna datoteka"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Podana napačna količina"
@@ -170,23 +170,23 @@ msgstr "Število unikatnih serijskih številk ({s}) se mora ujemati s količino
msgid "Remove HTML tags from this value"
msgstr "Odstranite oznako HTML iz te vrednosti"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Nepravilno nastavljen vzorec"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Nastavljen neprepoznan ključ formata"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Manjka obvezen ključ formata"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Referenčno polje ne sme biti prazno"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Referenca se mora ujemati s vzorcem"
@@ -194,350 +194,363 @@ msgstr "Referenca se mora ujemati s vzorcem"
msgid "Reference number is too large"
msgstr "Referenčna številka prevelika"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Manjka datoteka"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Manjka zunanja povezava"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Priloga"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Izberite prilogo"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Povezava"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Zunanja povezava"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Komentar"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Komentar datoteke"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Uporabnik"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "naloži datum"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Ime ne sme biti prazno"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Neveljavna mapa prilog"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Ime datoteke vsebuje neveljavni znak '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Datoteki manjka končnica"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Priloga s tem imenom že obstaja"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Napaka pri preimenovanju datoteke"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Nedovoljena izbira"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Ime"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Opis"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Opis (opcijsko)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "nadrejen"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Pot"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "Podatki čtrne kode"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "Podatki črtne kode tretje osebe"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "Oznaka črtne kode"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "Enolična oznaka podatkov črtne kode"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "Črtna koda že obstaja"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Napaka strežnika"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Zaznana napaka na strežniku."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Mora biti veljavna številka"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Ime datoteke"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Neveljavna vrednost"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Podatki datoteke"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Izberite datoteke za naložiti"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Nepodprta vrsta datotek"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Datoteka je prevelika"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "V datoteki ni bilo najdenih stolpcev"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "V datoteki ni bilo njadenih vrstic"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Niso bile podane vrste s podatki"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Niso bili podani stolpci s podatki"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Manjka obvezni stolpec: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dvojni stolpec: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Povezava"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "Povezava do oddaljene slike"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Prenos slik iz oddaljene povezave ni omogočen"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Češko"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "Danščina"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Nemščina"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Grščina"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Angleščina"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Španščina"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Španščina (Mehiško)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Perzijsko"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Francoščina"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebrejščina"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Madžarščina"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italijanščina"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japonščina"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Korejščina"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Nizozemščina"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norveščina"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Poljščina"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugalščina"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugalščina (Brazilsko)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Ruščina"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "Slovenščina"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Švedščina"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Tajščina"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Turščina"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamščina"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Kitajščina"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Nadzor dela v ozadju neuspel"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "Preverjanje zdravja sistema InvenTree neuspelo"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "V teku"
@@ -579,8 +592,8 @@ msgstr "Izgubljeno"
msgid "Returned"
msgstr "Vrnjeno"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Poslano"
@@ -664,7 +677,7 @@ msgstr "Razdeljena od nadrejene postavke"
msgid "Split child item"
msgstr "Razdeljena podrejena postavka"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Združena zaloga postavk"
@@ -672,7 +685,7 @@ msgstr "Združena zaloga postavk"
msgid "Converted to variant"
msgstr "Spremenjeno v varianto"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Posalno stranki"
@@ -721,27 +734,27 @@ msgstr "Prestarost ne sme presegati 100%"
msgid "Invalid value for overage"
msgstr "Neveljavna vrednost za prestarost"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Uredite informacije o uporabniku"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Nastavite geslo"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Polja z geslom se morajo ujemati"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Vnešeno nepravilno geslo"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Sistemske informacije"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "O InvenTree"
@@ -749,44 +762,44 @@ msgstr "O InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Neveljavna izbira za nadrejeno izgradnjo"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Nalog izgradnje"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Nalogi izgradnje"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Neveljavna izbira za nadrejeno izgradnjo"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Referenca naloga izgradnje"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referenca"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Del"
@@ -855,8 +869,8 @@ msgstr "Referenca dobavnica"
msgid "SalesOrder to which this build is allocated"
msgstr "Dobavnica na katero se navezuje ta izgradnja"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Lokacija vira"
@@ -896,21 +910,21 @@ msgstr "Status izgradnje"
msgid "Build status code"
msgstr "Koda statusa izgradnje"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Številka serije"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Številka serije za to izgradnjo"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Datum ustvarjenja"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Rok dokončanja"
@@ -918,8 +932,8 @@ msgstr "Rok dokončanja"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Datom končanja"
@@ -927,7 +941,7 @@ msgstr "Datom končanja"
msgid "completed by"
msgstr "dokončal"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Izdal"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Uporabnik, ki je izdal nalog za izgradnjo"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Odgovoren"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Zunanja povezava"
@@ -999,11 +1013,11 @@ msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot s
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Preveč zaloge je prestavljene"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Prestavljena količina mora biti večja od 0"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Izbrana postavka ni najdena v BOM"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Izdelava"
@@ -1025,18 +1039,18 @@ msgstr "Izdelava"
msgid "Build to allocate parts"
msgstr "Izdelaj da prestaviš dele"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Postavka zaloge"
@@ -1044,12 +1058,12 @@ msgstr "Postavka zaloge"
msgid "Source stock item"
msgstr "Izvorna postavka zaloge"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Izvorna postavka zaloge"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Količina"
@@ -1097,249 +1110,249 @@ msgstr "Inštaliraj v"
msgid "Destination stock item"
msgstr "Destinacija postavke zaloge"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Izgradnja"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "Izhodni del se ne ujema s naročilom sestava"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "Ta sestava je že zaključena"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr ""
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 de76d6bbe6..1a0ea81f48 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -29,23 +29,23 @@ msgstr "Information om felet finns under Error i adminpanelen"
msgid "Enter date"
msgstr "Ange datum"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Anteeckningar"
@@ -58,23 +58,23 @@ msgstr "Värdet '{name}' visas inte i mönsterformat"
msgid "Provided value does not match required pattern: "
msgstr "Det angivna värdet matchar inte det obligatoriska mönstret: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Ange lösenord"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Ange nytt lösenord"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Bekräfta lösenord"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Bekräfta nytt lösenord"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Tidigare lösenord"
@@ -130,7 +130,7 @@ msgstr "Fjärrservern returnerade tomt svar"
msgid "Supplied URL is not a valid image file"
msgstr "Angiven URL är inte en giltig bildfil"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Ogiltigt antal angivet"
@@ -170,23 +170,23 @@ msgstr "Antal unika serienummer ({s}) måste matcha antal ({q})"
msgid "Remove HTML tags from this value"
msgstr "Ta bort HTML-taggar från detta värde"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "Felaktigt formaterat mönster"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "Okänd formatnyckel angiven"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "Obligatorisk formatnyckel saknas"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "Textfältet kan inte lämnas tomt"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "Referensen måste matcha obligatoriskt mönster"
@@ -194,350 +194,363 @@ msgstr "Referensen måste matcha obligatoriskt mönster"
msgid "Reference number is too large"
msgstr "Referensnumret är för stort"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Saknad fil"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Extern länk saknas"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Bilaga"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Länk"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Länk till extern URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Kommentar"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Användare"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "uppladdningsdatum"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Filnamnet får inte vara tomt"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Ogiltig katalog för bilaga"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Filnamnet innehåller ogiltiga tecken '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Filnamn saknar ändelse"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Det finns redan en bilaga med detta filnamn"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Fel vid namnbyte av fil"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Ogiltigt val"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Namn"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Beskrivning"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Beskrivning (valfritt)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "överordnad"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "Sökväg"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "Serverfel"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "Ett fel har loggats av servern."
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Filnamn"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Ogiltigt värde"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Välj fil för uppladdning"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Filtypen stöds inte"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Filen är för stor"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Inga kolumner hittades i filen"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Inga rader hittades i filen"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Inga rader angivna"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Inga datakolumner har angetts"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Saknar obligatorisk kolumn: '{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicerad kolumn: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "URL för fjärrbildsfil"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "Tjeckiska"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Tyska"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Grekiska"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "Engelska"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "Spanska"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "Spanska (Mexikanska)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "Farsi / Persiska"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Franska"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "Hebreiska"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Ungerska"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "Italienska"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japanska"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Koreanska"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Nederländska"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norska"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polska"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "Portugisiska"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "Portugisiska (brasiliansk)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Ryska"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "Svenska"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Thailändska"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Turkiska"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamesiska"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Kinesiska"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Kontroll av bakgrundsarbetare misslyckades"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "InvenTree systemhälsokontroll misslyckades"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Väntar"
@@ -579,8 +592,8 @@ msgstr "Förlorad"
msgid "Returned"
msgstr "Återlämnad"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Skickad"
@@ -664,7 +677,7 @@ msgstr "Dela från överordnat objekt"
msgid "Split child item"
msgstr "Dela underordnat objekt"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Sammanfogade lagerposter"
@@ -672,7 +685,7 @@ msgstr "Sammanfogade lagerposter"
msgid "Converted to variant"
msgstr "Konverterad till variant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Skickat till kund"
@@ -721,27 +734,27 @@ msgstr "Överskott får inte överstiga 100%"
msgid "Invalid value for overage"
msgstr "Ogiltigt värde för överskott"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Redigera användarinformation"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Ställ in lösenord"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Lösenorden måste matcha"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "Felaktigt lösenord angivet"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Systeminformation"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Om InvenTree"
@@ -749,44 +762,44 @@ msgstr "Om InvenTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "Byggnationen måste avbrytas innan den kan tas bort"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "Ogiltigt val för överordnad bygge"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Byggorder"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Byggordrar"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "Ogiltigt val för överordnad bygge"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Byggorderreferens"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referens"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Del"
@@ -855,8 +869,8 @@ msgstr "Försäljningsorderreferens"
msgid "SalesOrder to which this build is allocated"
msgstr "Försäljningsorder till vilken detta bygge allokeras"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Källa Plats"
@@ -896,21 +910,21 @@ msgstr "Byggstatus"
msgid "Build status code"
msgstr "Bygg statuskod"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Batchkod"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Batch-kod för denna byggutdata"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Skapad"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Datum för slutförande"
@@ -918,8 +932,8 @@ msgstr "Datum för slutförande"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Slutförandedatum"
@@ -927,7 +941,7 @@ msgstr "Slutförandedatum"
msgid "completed by"
msgstr "slutfört av"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Utfärdad av"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Användare som utfärdade denna byggorder"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Ansvarig"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Extern länk"
@@ -999,11 +1013,11 @@ msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Lagerposten är överallokerad"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Allokeringsmängden måste vara större än noll"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Vald lagervara hittades inte i BOM"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Bygg"
@@ -1025,18 +1039,18 @@ msgstr "Bygg"
msgid "Build to allocate parts"
msgstr "Bygg för att allokera delar"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Artikel i lager"
@@ -1044,12 +1058,12 @@ msgstr "Artikel i lager"
msgid "Source stock item"
msgstr "Källa lagervara"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Källa lagervara"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Antal"
@@ -1097,249 +1110,249 @@ msgstr "Installera till"
msgid "Destination stock item"
msgstr "Destination lagervara"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "Bygg utdata"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "Byggutdata matchar inte överordnad version"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Serienummer"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Plats"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Status"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "Acceptera ofullständig"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Måldatum"
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Försenad"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Slutförd"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Försäljningsorder"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Utfärdad av"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Mål"
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Skapad"
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr "Beställ obligatoriska delar"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Beställ delar"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Skriv ut etiketter"
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Bilagor"
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Ny byggorder"
@@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Fil"
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr "Ingen grupp"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr "Omstart krävs"
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr "Serverinstans (Namn)"
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Företagsnamn"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "Internt företagsnamn"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "Bas-URL"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr "Bas-URL för serverinstans"
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Standardvaluta"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "Ladda ned från URL"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Tillåt nedladdning av bilder och filer från extern URL"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr "Kräv bekräftelse"
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr "Kräv uttrycklig användarbekräftelse för vissa åtgärder."
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Stöd för streckkoder"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Aktivera stöd för streckkodsläsare"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Delar är virtuella som standard"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr "Visa import i vyer"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr "Visa importguiden i vissa delvyer"
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "Visa relaterade delar"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr "Visa relaterade delar för en del"
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr "Visningsformat för delnamn"
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr "Formatera för att visa artikelnamnet"
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr "Interna priser"
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr "Aktivera etikettutskrift"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr "Aktivera etikettutskrift från webbgränssnittet"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr "Etikettbild DPI"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr "Aktivera rapporter"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr "Aktivera generering av rapporter"
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Debugläge"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "Sidstorlek"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "Standard sidstorlek för PDF-rapporter"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr "Aktivera testrapporter"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 548e72e18b..db709686d2 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -29,23 +29,23 @@ msgstr ""
msgid "Enter date"
msgstr "ป้อนวันที่"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "หมายเหตุ"
@@ -58,23 +58,23 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "ป้อนรหัสผ่าน"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "ป้อนรหัสผ่านใหม่"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "ยืนยันรหัสผ่าน"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "ยืนยันรหัสผ่านใหม่"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "รหัสผ่านเดิม"
@@ -130,7 +130,7 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "ปริมาณสินค้าไม่ถูกต้อง"
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr ""
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "ไฟล์แนบ"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "เลือกไฟล์ที่ต้องการแนบ"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "ลิงก์"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr ""
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "ความคิดเห็น"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "ความเห็นของไฟล์"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "ผู้ใช้งาน"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "วันที่อัปโหลด"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "จำเป็นต้องใส่ชื่อไฟล์"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "ชื่อไฟล์ห้ามมีตัวอักษรต้องห้าม '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "ไม่พบนามสกุลของไฟล์"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "ชื่อ"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "คำอธิบาย"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr ""
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr ""
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "ข้อมูลบาร์โค้ด"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "บาร์โค้ดนี้มีในระบบแล้ว"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "ต้องเป็นตัวเลข"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "ชื่อไฟล์"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "ไฟล์ข้อมูล"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "ไฟล์มีขนาดใหญ่เกินไป"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr ""
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr ""
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr ""
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "ภาษาโปรตุเกส"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "ภาษารัสเซีย"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "ภาษาสวีเดน"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "ภาษาไทย"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "ภาษาเวียดนาม"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "ภาษาจีน"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr ""
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "อยู่ระหว่างดำเนินการ"
@@ -579,8 +592,8 @@ msgstr "สูญหาย"
msgid "Returned"
msgstr "ส่งคืนแล้ว"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "จัดส่งแล้ว"
@@ -664,7 +677,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr ""
@@ -672,7 +685,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "จัดส่งให้ลูกค้าแล้ว"
@@ -721,27 +734,27 @@ msgstr ""
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "แก้ไขข้อมูลสมาชิก"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "ตั้งรหัสผ่าน"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "รหัสผ่านต้องตรงกัน"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "ป้อนรหัสผ่านไม่ถูกต้อง"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "ข้อมูลระบบ"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "เกี่ยวกับ Inventree"
@@ -749,44 +762,44 @@ msgstr "เกี่ยวกับ Inventree"
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr ""
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr ""
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr ""
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr ""
@@ -855,8 +869,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr ""
@@ -896,21 +910,21 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr ""
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr ""
@@ -918,8 +932,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr ""
@@ -927,7 +941,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr ""
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr ""
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr ""
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "สถานะ"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr ""
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr ""
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 3c28f324a3..ca223a8f97 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -29,23 +29,23 @@ msgstr "Hata detaylarını admin panelinde bulabilirsiniz"
msgid "Enter date"
msgstr "Tarih giriniz"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "Notlar"
@@ -58,23 +58,23 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "Şifrenizi girin"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "Lütfen Yeni Parolayı Girin"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Parolayı doğrulayın"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Yeni parolayı doğrulayın"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "Eski parola"
@@ -130,7 +130,7 @@ msgstr "Uzak sunucu boş cevap döndü"
msgid "Supplied URL is not a valid image file"
msgstr "Sağlanan URL geçerli bir resim dosyası değil"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "Eksik dosya"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "Bozuk dış bağlantı"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "Ek"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "Bağlantı"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Yorum"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Kullanıcı"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "yükleme tarihi"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Dosya adı boş olamaz"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "Ek dosya yolu geçersiz"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Dosya adı geçersiz karakterler içeriyor'{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "Dosya uzantısı yok"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "Aynı isimli başka bir dosya zaten var"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "Dosya adı değiştirilirken hata"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "Geçersiz seçim"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "Adı"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Açıklama"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Açıklama (isteğe bağlı)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "üst"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr ""
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "Para birimi"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Dosya adı"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "Geçersiz değer"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "Veri Dosyası"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "Yüklemek istediğiniz dosyayı seçin"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "Desteklenmeyen dsoya tipi"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "Dosya boyutu çok büyük"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "Dosyada kolon bulunamadı"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "Dosyada uygun kolon bulunamadı"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Gerekli kolon ismi eksik:'{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Tekrarlanan kolon ismi:'{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "Yunanca"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "İspanyolca"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "İspanyolca(Meksika)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "İbranice"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "Macarca"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "İtalyanca"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "Japonca"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "Korece"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "Flemenkçe"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "Norveççe"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "Rusça"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "İsveççe"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "Tay dili"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "Türkçe"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "Vietnamca"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "Çince"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "Arka plan çalışanı kontrolü başarısız oldu"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "InvenTree sistem sağlık kontrolü başarısız"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "Bekliyor"
@@ -579,8 +592,8 @@ msgstr "Kayıp"
msgid "Returned"
msgstr "İade"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "Sevk edildi"
@@ -664,7 +677,7 @@ msgstr "Üst ögeden ayır"
msgid "Split child item"
msgstr "Alt ögeyi ayır"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "Stok parçalarını birleştir"
@@ -672,7 +685,7 @@ msgstr "Stok parçalarını birleştir"
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "Müşteriye gönderildi"
@@ -721,27 +734,27 @@ msgstr "Fazlalık %100'ü geçmemelidir"
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "Kullanıcı Bilgisini Düzenle"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "Şifre Belirle"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "Parola alanları eşleşmelidir"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Sistem Bilgisi"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "InvenTree Hakkında"
@@ -749,44 +762,44 @@ msgstr "InvenTree Hakkında"
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Yapım İşi Emri"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Yapım İşi Emirleri"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "Referans"
@@ -804,42 +817,43 @@ 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:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Parça"
@@ -855,8 +869,8 @@ msgstr "Satış Emri Referansı"
msgid "SalesOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği satış emri"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "Kaynak Konum"
@@ -896,21 +910,21 @@ msgstr "Yapım İşi Durumu"
msgid "Build status code"
msgstr "Yapım işi durum kodu"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "Sıra numarası"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "Yapım işi çıktısı için sıra numarası"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "Oluşturulma tarihi"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "Hedef tamamlama tarihi"
@@ -918,8 +932,8 @@ msgstr "Hedef tamamlama tarihi"
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:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Tamamlama tarihi"
@@ -927,7 +941,7 @@ msgstr "Tamamlama tarihi"
msgid "completed by"
msgstr "tamamlayan"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "Veren"
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr "Bu yapım işi emrini veren kullanıcı"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "Sorumlu"
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "Harici Bağlantı"
@@ -999,11 +1013,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "Yapım İşi"
@@ -1025,18 +1039,18 @@ msgstr "Yapım İşi"
msgid "Build to allocate parts"
msgstr "Yapım işi için tahsis edilen parçalar"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "Stok Kalemi"
@@ -1044,12 +1058,12 @@ msgstr "Stok Kalemi"
msgid "Source stock item"
msgstr "Kaynak stok kalemi"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "Kaynak stok kalemi"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "Miktar"
@@ -1097,249 +1110,249 @@ msgstr "Kurulduğu yer"
msgid "Destination stock item"
msgstr "Hedef stok kalemi"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "Yapım işi çıktısı için miktarını girin"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "Seri Numaraları"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "Yapım işi çıktısı için seri numaraları girin"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "Konum"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Durum"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "Gerekli stok tamamen tahsis edilemedi"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "Gerekli yapım işi miktarı tamamlanmadı"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "Hedeflenen tarih"
@@ -1445,29 +1458,29 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor"
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "Vadesi geçmiş"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Tamamlandı"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "Sipariş Emri"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "Veren"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr "Stok Kaynağı"
msgid "Stock can be taken from any available location."
msgstr "Stok herhangi bir konumdan alınabilir."
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "Hedef"
@@ -1511,21 +1524,21 @@ msgstr "Hedef konumu belirtilmedi"
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "Toplu"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "Oluşturuldu"
@@ -1545,7 +1558,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:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "Stok tahsisini kaldır"
@@ -1576,7 +1589,7 @@ msgstr "Gerekli parçaları sipariş edin"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "Parça Siparişi"
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "Yazdırma İşlemleri"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "Etiketleri yazdır"
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr "Tamamlanmış Yapım İşi Çıktıları"
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Ekler"
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "Yeni Yapım İşi Emri"
@@ -1723,1272 +1738,1307 @@ msgstr "{name.title()} Dosya"
msgid "Select {name} file to upload"
msgstr "{name} dosyasını yüklemek için seçin"
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr "Anahtar dizesi benzersiz olmalı"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Şirket adı"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr "Ana URL"
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr "Varsayılan Para Birimi"
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr "URL'den indir"
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver"
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Barkod Desteği"
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "Barkod tarayıcı desteğini etkinleştir"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr "DPN Regex"
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)"
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr "Yinelenen DPN'ye İzin Ver"
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver"
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr "DPN Düzenlemeye İzin Ver"
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr "Kategori Paremetre Sablonu Kopyala"
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "Şablon"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "Montaj"
-#: common/models.py:1107
+#: common/models.py:1114
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:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "Bileşen"
-#: common/models.py:1114
+#: common/models.py:1121
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:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "Satın Alınabilir"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "Satılabilir"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "Takip Edilebilir"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "Sanal"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "Parçalar varsayılan olarak sanaldır"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "İlgili parçaları göster"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr "günler"
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "Hata Ayıklama Modu"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "Sayfa Boyutu"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "PDF raporlar için varsayılan sayfa boyutu"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin"
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
-msgstr "Formlarda Miktarı Göster"
+msgid "Display stock locations in search preview window"
+msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr "Formlarda Miktarı Göster"
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "Fiyat"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr "Aktif"
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Dosya Yükle"
@@ -3023,7 +3073,7 @@ msgstr "Dosya Yükle"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Alanları Eşleştir"
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Resim"
@@ -3138,229 +3188,219 @@ msgstr "üretici mi"
msgid "Does this company manufacture parts?"
msgstr "Bu şirket üretim yapıyor mu?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "Para birimi"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Bu şirket için varsayılan para birimi"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr "Temel Parça"
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "Parça seçin"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Üretici"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "Üretici seçin"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr "ÜPN"
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "Üretici Parça Numarası"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "Parametre adı"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "Değer"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "Parametre değeri"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Tedarikçi"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "Tedarikçi seçin"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "Not"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr "temel maliyet"
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "Paketleme"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr "çoklu"
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr "Mevcut"
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "Para Birimi Kodu"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr "Temel Parça"
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "Parça seçin"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Üretici"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "Üretici seçin"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr "ÜPN"
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "Üretici Parça Numarası"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "Parametre adı"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "Değer"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "Parametre değeri"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Tedarikçi"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "Tedarikçi seçin"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "Not"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr "temel maliyet"
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "Paketleme"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr "çoklu"
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr "Mevcut"
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "Satın Alma Emri Oluştur"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "Müşteri"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "Resmi İndirin"
@@ -3458,13 +3498,13 @@ msgstr "Yeni tedarikçi parçası oluştur"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "Yeni Tedarikçi Parçası"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr "Tedarikçi Stoku"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "Satın Alma Emirleri"
@@ -3524,11 +3564,11 @@ msgstr "Yeni Satın Alma Emri"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "Satış Emirleri"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "Yeni Satış Emri"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr "Atanan Stok"
@@ -3558,17 +3598,17 @@ msgstr "Üreticiler"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "Parça siparişi"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
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:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr "Barkod işlemleri"
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Tedarikçi Parça Stoku"
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Tedarikçi Parçası Emirleri"
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr "Fiyat Bilgisi"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Stok"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "Stok Kalemleri"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr "Tedarikçi Parçası Fiyatlandırması"
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "Fiyatlandırma"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "Stok Kalemleri"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "Yeni Tedarikçi"
@@ -3828,10 +3848,6 @@ msgstr "Şirketler"
msgid "New Company"
msgstr "Yeni Şirket"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr "Etiket adı"
@@ -3848,7 +3864,7 @@ msgstr "Etiket"
msgid "Label template file"
msgstr "Etiket şablon listesi"
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr "Etkin"
@@ -3872,7 +3888,7 @@ msgstr "Yükseklik [mm]"
msgid "Label height, specified in mm"
msgstr "Etiket yüksekliği mm olarak belirtilmeli"
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr "Dosya Adı Deseni"
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "Filtreler"
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr "Sipariş açıklaması"
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr "Harici sayfaya bağlantı"
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr "Oluşturan"
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr "Sipariş notları"
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr "Sipariş referansı"
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Tahsis miktarı stok miktarını aşamaz"
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr "Seri numaralı stok kalemi için miktar bir olmalı"
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr "Stok tahsis miktarını girin"
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr "İşlemler"
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr "DPN"
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr "Revizyon"
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Anahtar kelimeler"
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr "Minimum Stok"
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Parçalar"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr "Varsayılan Konum"
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "Bu kategori içindeki parçalar için varsayılan konum"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr "Parça adı"
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:827
+#: part/models.py:796
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:828
+#: part/models.py:797
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "Parça açıklaması"
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr "Varsayılan Tedarikçi"
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:965
+#: part/models.py:934
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:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Bu parça aktif mi?"
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
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:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
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:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:3460
+#: part/models.py:3522
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:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Alt kategoriler"
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "Parçalar (Alt kategoriler dahil)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr "Kategori ayarla"
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr "Kategori Ayarla"
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr "Yenile"
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr "Parça Test Şablonları"
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr "Test Şablonu Ekle"
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr "Parça Çeşitleri"
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr "Yeni çeşit oluştur"
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr "Yeni Çeşit"
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr "Parça Tedarikçileri"
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "Etiket Yazdır"
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr "Stok işlemleri"
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr "Pasif"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr "Bu parça %(link)s parçasının bir çeşididir"
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr "Son Seri Numarası"
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr "Hesapla"
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr "Birim Maliyeti"
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr "Toplam Maliyet"
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Stok"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "Fiyatlandırma"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr "Stok Yok"
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr "Rapor şablon tanımı"
msgid "Report revision number (auto-increments)"
msgstr "Revizyon numarası raporla (otomatik artış)"
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr "Rapor şablonu etkin"
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr "Stok kalemi sorgu filtreleri (anahter=değer [key=value] olarak virgülle ayrılmış liste)"
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "Seri Numara"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr "Seri No"
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr "Seri numarası olan ögenin miktarı bir olmalı"
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr "Üst Stok Kalemi"
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-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:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Stok Konumu"
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "Stok Konumları"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr "Seri numarası olan ögenin miktarı bir olmalı"
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr "Üst Stok Kalemi"
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+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:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr "Bu öge için seri numarası"
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr "Seri numaraları tam sayı listesi olmalı"
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr "Miktar seri numaları ile eşleşmiyor"
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seri numaraları zaten mevcut: {exists}"
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stok kalemi stokta olmadığı için taşınamaz"
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr "İşlem notu ekle (isteğe bağlı)"
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr "Konuma Tara"
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr "Yazdırma işlemleri"
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr "Stok ayarlama işlemleri"
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr "Stoku seri numarala"
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr "Stok kalemi tüm gerekli testleri geçmedi"
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz."
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr "Konum ayarlanmadı"
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi"
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek"
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Uyarı"
-#: stock/templates/stock/item_base.html:607
+#: 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:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr "Stok Kalemine Dönüştür"
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr "Bu stok kalemi için seri numaralandırılmış ögeler oluştur."
msgid "Select quantity to serialize, and unique serial numbers."
msgstr "Seri numaralandırılacak miktarı ve benzersiz seri numaralarını seçin."
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr "Konum işlemleri"
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "Konumu düzenle"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr "Konumu sil"
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez."
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr "Alt konumlar"
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "Stok Konumları"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr "Yeni stok konumu oluştur"
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "Yeni Konum"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr "Stok Konumu QR Kodu"
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr "Parça Parametre Şablonu"
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr "Kategori parametre şablonu bulunamadı"
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr "Şablonu Düzenle"
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr "Şablonu Sil"
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr "Kategori Parametre Şablonu Oluştur"
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr "Kategori Parametre Şablonu Sil"
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr "Kategori Parametre Şablonu Oluştur"
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr "Parça parametre şablonu bulunamadı"
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr "Parça Parametre Şablonu Oluştur"
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr "Parça Parametre Şablonu Düzenle"
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr "Parça Parametre Şablonu Sil"
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "Dosya Ekle"
@@ -8526,7 +8692,7 @@ msgstr "Dosya Ekle"
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr "Cevap Yok"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
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:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr "Ek Düzenle"
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Kapat"
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr "Gerekli Parça"
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr "Tamamlanmış Yapım İşi Emri"
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr "Stok tahsisini düzenle"
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr "Stok tahsisini sil"
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Parçaları Seçin"
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr "Şablon Parça"
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr "Tedarikçi parçasını düzenle"
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr "Tedarikçi parçasını sil"
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr "Etiket Şablonu Seç"
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr "Ürünler"
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr "Stok tahsisini onayla"
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr "Silme İşlemini Onayla"
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr "Seri numaralarını tahsis et"
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr "Seri Numaralarını Tahsis Et"
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr ""
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr "Çeşit bulunamadı"
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr "Katagori Yok"
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr "Stok konumunu düzenle"
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?"
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr "Stok Konumunu Sil"
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr "Stok ayarlamasını onayla"
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr "Stok konumu ayarlanmadı"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr "Detaylar"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr "Konum artık yok"
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr "Çeşit Stokuna İzin Ver"
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr "Alt konumları dahil et"
@@ -10973,218 +11138,218 @@ msgstr "Alt konumları dahil et"
msgid "Include locations"
msgstr "Konumları dahil et"
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:250
msgid "Is Serialized"
msgstr "Seri Numaralı"
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:257
msgid "Serial number GTE"
msgstr "Seri numarası BvE"
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:258
msgid "Serial number greater than or equal to"
msgstr "Seri numarası büyük veya eşit"
-#: templates/js/translated/table_filters.js:171
-#: templates/js/translated/table_filters.js:257
+#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
msgid "Serial number LTE"
msgstr "Seri numarası KvE"
-#: templates/js/translated/table_filters.js:172
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:262
msgid "Serial number less than or equal to"
msgstr "Seri numarası küçük veya eşit"
-#: templates/js/translated/table_filters.js:175
-#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr "Seri numarası"
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr "Alt konumlardaki stoku dahil et"
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr "Çeşitleri Dahil Et"
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr "Çeşit parçaların stok kalemlerini dahil et"
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr "Alt kategorilerdeki parçaları dahil et"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr "DPN Var"
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr "Kullanıcılar"
msgid "Select which users are assigned to this group"
msgstr "Bu gruba atanacak kullanıcıyı seçin"
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr "Aşağıdaki kullanıcılar birden çok grubun üyesi:"
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr "Kullanıcı bilgisi"
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr "Yetkiler"
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr "Önemli tarihler"
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "İzinleri ayarla"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr "Grup"
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "Görünüm"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "Parçayı görüntüleme izni"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "Parça ekleme izni"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr "Değiştir"
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "Parçaları düzenleme izni"
-#: users/models.py:225
+#: users/models.py:231
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 e7e8b12a66..e433e51f51 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:21\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -29,23 +29,23 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr ""
@@ -58,23 +58,23 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "Xác nhận mật khẩu"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "Xác nhận mật khẩu mới"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr ""
@@ -130,7 +130,7 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr ""
@@ -170,23 +170,23 @@ msgstr ""
msgid "Remove HTML tags from this value"
msgstr ""
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr ""
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr ""
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr ""
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr ""
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr ""
@@ -194,350 +194,363 @@ msgstr ""
msgid "Reference number is too large"
msgstr ""
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr ""
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr ""
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "Bình luận"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "Người dùng"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "Ngày tải lên"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "Tên tập tin không được để trống"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr ""
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "Mô tả"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "Mô tả (tùy chọn)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr ""
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr ""
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr ""
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr ""
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr ""
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr ""
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "Tên tập tin"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr ""
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr ""
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr ""
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr ""
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr ""
@@ -579,8 +592,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr ""
@@ -664,7 +677,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr ""
@@ -672,7 +685,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr ""
@@ -721,27 +734,27 @@ msgstr ""
msgid "Invalid value for overage"
msgstr ""
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr ""
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "Thông tin hệ thống"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "Giới thiệu"
@@ -749,44 +762,44 @@ msgstr "Giới thiệu"
msgid "Build must be cancelled before it can be deleted"
msgstr ""
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr ""
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "Tạo đơn hàng"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "Tạo đơn hàng"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr ""
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr ""
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "Nguyên liệu"
@@ -855,8 +869,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr ""
@@ -896,21 +910,21 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr ""
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr ""
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr ""
@@ -918,8 +932,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "Ngày hoàn thành"
@@ -927,7 +941,7 @@ msgstr "Ngày hoàn thành"
msgid "completed by"
msgstr ""
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr ""
@@ -936,12 +950,12 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr ""
@@ -952,8 +966,8 @@ msgstr ""
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr ""
@@ -999,11 +1013,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1025,18 +1039,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr ""
@@ -1044,12 +1058,12 @@ msgstr ""
msgid "Source stock item"
msgstr ""
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr ""
@@ -1097,249 +1110,249 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr ""
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr ""
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr ""
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr ""
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr ""
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr ""
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "Trạng thái"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr ""
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr ""
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr ""
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr ""
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr ""
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr ""
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr ""
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr ""
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr ""
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr ""
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr ""
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr ""
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr ""
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr ""
@@ -1445,29 +1458,29 @@ msgstr ""
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "Đã hoàn thành"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr ""
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr ""
@@ -1498,8 +1511,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr ""
@@ -1511,21 +1524,21 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr ""
@@ -1545,7 +1558,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr ""
@@ -1576,7 +1589,7 @@ msgstr ""
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr ""
@@ -1629,12 +1642,12 @@ msgid "Delete outputs"
msgstr ""
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr ""
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr ""
@@ -1643,13 +1656,15 @@ msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1666,7 +1681,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr ""
@@ -1723,1272 +1738,1307 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:65 templates/js/translated/part.js:789
+#: common/models.py:66
msgid "Updated"
msgstr ""
-#: common/models.py:66
+#: common/models.py:67
msgid "Timestamp of last update"
msgstr ""
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
msgstr ""
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
msgstr ""
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
msgstr ""
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
msgstr ""
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
msgstr ""
-#: common/models.py:885
+#: common/models.py:892
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:892
+#: common/models.py:899
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr ""
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr ""
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "Hiển thị nguyên liệu mới nhất"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr ""
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
+msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
+msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
+#: common/models.py:1865
+msgid "Search Companies"
msgstr ""
#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr ""
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
@@ -3023,7 +3073,7 @@ msgstr ""
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -3061,7 +3111,7 @@ msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr ""
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
@@ -3138,229 +3188,219 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr ""
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr ""
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "Nhà sản xuất"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr ""
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr ""
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr ""
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr ""
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr ""
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr ""
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr ""
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr ""
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr ""
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "Nhà cung cấp"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr ""
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr ""
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr ""
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr ""
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr ""
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr ""
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr ""
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr ""
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr ""
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr ""
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "Nhà sản xuất"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr ""
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr ""
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "Nhà cung cấp"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr ""
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr ""
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr ""
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr ""
@@ -3401,14 +3441,14 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr ""
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr ""
@@ -3487,7 +3527,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr ""
@@ -3501,11 +3541,11 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr ""
@@ -3524,11 +3564,11 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr ""
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr ""
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Thông số"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr "Xóa các thông số"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr ""
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr ""
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "Kiện hàng"
-
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr ""
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr ""
-
#: company/views.py:33
msgid "New Supplier"
msgstr ""
@@ -3828,10 +3848,6 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr ""
@@ -3848,7 +3864,7 @@ msgstr ""
msgid "Label template file"
msgstr ""
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr ""
@@ -3872,7 +3888,7 @@ msgstr ""
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr ""
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr ""
@@ -3897,447 +3913,443 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr ""
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "Giá mua"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr ""
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr ""
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Nguyên liệu"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr ""
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr ""
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr ""
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr ""
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr ""
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr ""
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr ""
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr "Sao chép thông số"
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr "Sao chép thông số nhóm hàng"
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr ""
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "Thông số phụ tùng"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr ""
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr ""
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr "Số seri mới nhất"
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "Kiện hàng"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr ""
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr ""
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr ""
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr ""
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr ""
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr ""
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr ""
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr ""
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr ""
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr ""
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Kho hàng"
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr ""
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr ""
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr "Chỉnh sửa cài đặt toàn cục"
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr "Chỉnh sửa cài đặt người dùng"
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr ""
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
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.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr "Cài đặt toàn cục"
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr ""
@@ -8526,7 +8692,7 @@ msgstr ""
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr ""
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr "Số seri mới nhất"
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr "Tất cả những thống số được chọn sẽ bị xoá"
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr "Xóa các thông số"
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr "Không có thông số được tìm thấy"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr ""
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr ""
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr "Sao chép thông số nhóm hàng"
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr ""
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr ""
msgid "Select which users are assigned to this group"
msgstr ""
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr ""
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr ""
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr ""
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr ""
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr ""
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr ""
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr ""
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr ""
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:225
+#: users/models.py:231
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 c558cc50b9..0a6e0a1d3c 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-02-14 11:07+0000\n"
-"PO-Revision-Date: 2023-02-14 21:04\n"
+"POT-Creation-Date: 2023-02-21 02:58+0000\n"
+"PO-Revision-Date: 2023-02-21 22:22\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -29,23 +29,23 @@ msgstr "在管理面板中可以找到错误详细信息"
msgid "Enter date"
msgstr "输入日期"
-#: InvenTree/fields.py:204 build/serializers.py:388
-#: build/templates/build/sidebar.html:21 company/models.py:530
-#: company/templates/company/sidebar.html:25 order/models.py:943
+#: InvenTree/fields.py:204 build/serializers.py:389
+#: build/templates/build/sidebar.html:21 company/models.py:549
+#: company/templates/company/sidebar.html:25 order/models.py:946
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2920 part/templates/part/part_sidebar.html:62
+#: order/templates/order/so_sidebar.html:17 part/admin.py:41
+#: part/models.py:2897 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:103 stock/models.py:2082 stock/models.py:2190
-#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
-#: stock/serializers.py:827 stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:120 stock/models.py:2094 stock/models.py:2202
+#: stock/serializers.py:315 stock/serializers.py:448 stock/serializers.py:529
+#: stock/serializers.py:808 stock/serializers.py:907 stock/serializers.py:1039
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1219
-#: templates/js/translated/company.js:1023
-#: templates/js/translated/order.js:2467 templates/js/translated/order.js:2599
-#: templates/js/translated/order.js:3097 templates/js/translated/order.js:4032
-#: templates/js/translated/order.js:4411 templates/js/translated/part.js:865
-#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
+#: templates/js/translated/barcode.js:131 templates/js/translated/bom.js:1222
+#: templates/js/translated/company.js:1062
+#: templates/js/translated/order.js:2525 templates/js/translated/order.js:2657
+#: templates/js/translated/order.js:3149 templates/js/translated/order.js:4084
+#: templates/js/translated/order.js:4456 templates/js/translated/part.js:935
+#: templates/js/translated/stock.js:1456 templates/js/translated/stock.js:2056
msgid "Notes"
msgstr "备注"
@@ -58,23 +58,23 @@ msgstr "值 '{name}' 没有以模式格式显示"
msgid "Provided value does not match required pattern: "
msgstr "提供的值与所需模式不匹配: "
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:145
msgid "Enter password"
msgstr "输入密码"
-#: InvenTree/forms.py:136
+#: InvenTree/forms.py:146
msgid "Enter new password"
msgstr "输入新密码"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:155
msgid "Confirm password"
msgstr "确认密码"
-#: InvenTree/forms.py:146
+#: InvenTree/forms.py:156
msgid "Confirm new password"
msgstr "确认新密码"
-#: InvenTree/forms.py:150
+#: InvenTree/forms.py:160
msgid "Old password"
msgstr "旧密码"
@@ -130,7 +130,7 @@ msgstr "远程服务器返回了空响应"
msgid "Supplied URL is not a valid image file"
msgstr "提供的 URL 不是一个有效的图片文件"
-#: InvenTree/helpers.py:597 order/models.py:329 order/models.py:496
+#: InvenTree/helpers.py:597 order/models.py:328 order/models.py:495
msgid "Invalid quantity provided"
msgstr "提供的数量无效"
@@ -170,23 +170,23 @@ msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})"
msgid "Remove HTML tags from this value"
msgstr "从这个值中删除 HTML 标签"
-#: InvenTree/models.py:238
+#: InvenTree/models.py:243
msgid "Improperly formatted pattern"
msgstr "格式不正确"
-#: InvenTree/models.py:245
+#: InvenTree/models.py:250
msgid "Unknown format key specified"
msgstr "指定了未知格式密钥"
-#: InvenTree/models.py:251
+#: InvenTree/models.py:256
msgid "Missing required format key"
msgstr "缺少必需的格式密钥"
-#: InvenTree/models.py:263
+#: InvenTree/models.py:268
msgid "Reference field cannot be empty"
msgstr "引用字段不能为空"
-#: InvenTree/models.py:270
+#: InvenTree/models.py:275
msgid "Reference must match required pattern"
msgstr "引用必须匹配所需的图案"
@@ -194,350 +194,363 @@ msgstr "引用必须匹配所需的图案"
msgid "Reference number is too large"
msgstr "参考编号过大"
-#: InvenTree/models.py:384
+#: InvenTree/models.py:388
msgid "Missing file"
msgstr "缺少文件"
-#: InvenTree/models.py:385
+#: InvenTree/models.py:389
msgid "Missing external link"
msgstr "缺少外部链接"
-#: InvenTree/models.py:405 stock/models.py:2184
-#: templates/js/translated/attachment.js:103
-#: templates/js/translated/attachment.js:241
+#: InvenTree/models.py:409 stock/models.py:2196
+#: templates/js/translated/attachment.js:110
+#: templates/js/translated/attachment.js:296
msgid "Attachment"
msgstr "附件"
-#: InvenTree/models.py:406
+#: InvenTree/models.py:410
msgid "Select file to attach"
msgstr "选择附件"
-#: InvenTree/models.py:412 common/models.py:2492 company/models.py:129
-#: company/models.py:281 company/models.py:517 order/models.py:85
-#: order/models.py:1282 part/admin.py:25 part/models.py:866
+#: InvenTree/models.py:416 common/models.py:2538 company/models.py:129
+#: company/models.py:300 company/models.py:536 order/models.py:84
+#: order/models.py:1284 part/admin.py:39 part/models.py:835
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:102 templates/js/translated/company.js:692
-#: templates/js/translated/company.js:1012
-#: templates/js/translated/order.js:3086 templates/js/translated/part.js:1869
+#: stock/admin.py:119 templates/js/translated/company.js:731
+#: templates/js/translated/company.js:1051
+#: templates/js/translated/order.js:3138 templates/js/translated/part.js:1952
msgid "Link"
msgstr "链接"
-#: InvenTree/models.py:413 build/models.py:291 part/models.py:867
-#: stock/models.py:716
+#: InvenTree/models.py:417 build/models.py:291 part/models.py:836
+#: stock/models.py:728
msgid "Link to external URL"
msgstr "链接到外部 URL"
-#: InvenTree/models.py:416 templates/js/translated/attachment.js:104
-#: templates/js/translated/attachment.js:285
+#: InvenTree/models.py:420 templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:311
msgid "Comment"
msgstr "注释"
-#: InvenTree/models.py:416
+#: InvenTree/models.py:420
msgid "File comment"
msgstr "文件注释"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1941
-#: common/models.py:1942 common/models.py:2165 common/models.py:2166
-#: common/models.py:2422 common/models.py:2423 part/models.py:2928
-#: part/models.py:3014 part/models.py:3034 plugin/models.py:270
-#: plugin/models.py:271
+#: InvenTree/models.py:426 InvenTree/models.py:427 common/models.py:1987
+#: common/models.py:1988 common/models.py:2211 common/models.py:2212
+#: common/models.py:2468 common/models.py:2469 part/models.py:2905
+#: part/models.py:2993 part/models.py:3072 part/models.py:3092
+#: plugin/models.py:270 plugin/models.py:271
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:2743
msgid "User"
msgstr "用户"
-#: InvenTree/models.py:426
+#: InvenTree/models.py:430
msgid "upload date"
msgstr "上传日期"
-#: InvenTree/models.py:448
+#: InvenTree/models.py:452
msgid "Filename must not be empty"
msgstr "文件名不能为空!"
-#: InvenTree/models.py:457
+#: InvenTree/models.py:461
msgid "Invalid attachment directory"
msgstr "非法的附件目录"
-#: InvenTree/models.py:467
+#: InvenTree/models.py:471
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "文件名包含非法字符 '{c}'"
-#: InvenTree/models.py:470
+#: InvenTree/models.py:474
msgid "Filename missing extension"
msgstr "缺少文件名扩展"
-#: InvenTree/models.py:477
+#: InvenTree/models.py:481
msgid "Attachment with this filename already exists"
msgstr "使用此文件名的附件已存在"
-#: InvenTree/models.py:484
+#: InvenTree/models.py:488
msgid "Error renaming file"
msgstr "重命名文件出错"
-#: InvenTree/models.py:520
+#: InvenTree/models.py:527
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:546
msgid "Invalid choice"
msgstr "选择无效"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2151
-#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3189 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:571 InvenTree/models.py:572 common/models.py:2197
+#: company/models.py:382 label/models.py:101 part/models.py:779
+#: part/models.py:3240 plugin/models.py:94 report/models.py:152
#: 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.html:391
-#: templates/js/translated/company.js:581
-#: templates/js/translated/company.js:794
-#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:965 templates/js/translated/part.js:1134
-#: templates/js/translated/part.js:2274 templates/js/translated/stock.js:2437
+#: templates/InvenTree/settings/settings_staff_js.html:250
+#: templates/js/translated/company.js:620
+#: templates/js/translated/company.js:833 templates/js/translated/part.js:1050
+#: templates/js/translated/part.js:1219 templates/js/translated/part.js:2357
+#: templates/js/translated/stock.js:2470
msgid "Name"
msgstr "名称"
-#: InvenTree/models.py:564 build/models.py:164
-#: build/templates/build/detail.html:24 company/models.py:287
-#: company/models.py:523 company/templates/company/company_base.html:72
+#: InvenTree/models.py:578 build/models.py:164
+#: build/templates/build/detail.html:24 company/models.py:306
+#: company/models.py:542 company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:83 part/admin.py:174 part/admin.py:255 part/models.py:833
-#: part/models.py:3198 part/templates/part/category.html:75
+#: order/models.py:82 part/admin.py:194 part/admin.py:275 part/models.py:802
+#: part/models.py:3249 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
-#: report/models.py:507 report/models.py:551
+#: report/models.py:506 report/models.py:550
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/admin.py:25 stock/templates/stock/location.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/settings.html:402
-#: templates/js/translated/bom.js:599 templates/js/translated/bom.js:902
-#: templates/js/translated/build.js:2597 templates/js/translated/company.js:445
-#: templates/js/translated/company.js:703
-#: templates/js/translated/company.js:987 templates/js/translated/order.js:2064
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2875
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1477
-#: templates/js/translated/part.js:1751 templates/js/translated/part.js:2310
-#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:1398
-#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
-#: templates/js/translated/stock.js:2529
+#: templates/InvenTree/settings/settings_staff_js.html:261
+#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:2599 templates/js/translated/company.js:484
+#: templates/js/translated/company.js:742
+#: templates/js/translated/company.js:1026
+#: templates/js/translated/order.js:2122 templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2927 templates/js/translated/part.js:1112
+#: templates/js/translated/part.js:1562 templates/js/translated/part.js:1836
+#: templates/js/translated/part.js:2393 templates/js/translated/part.js:2490
+#: templates/js/translated/stock.js:1435 templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:2502 templates/js/translated/stock.js:2580
msgid "Description"
msgstr "描述信息"
-#: InvenTree/models.py:565
+#: InvenTree/models.py:579
msgid "Description (optional)"
msgstr "描述 (可选)"
-#: InvenTree/models.py:573
+#: InvenTree/models.py:587
msgid "parent"
msgstr "上级项"
-#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2319 templates/js/translated/stock.js:2478
+#: InvenTree/models.py:594 InvenTree/models.py:595
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:2511
msgid "Path"
msgstr "路径"
-#: InvenTree/models.py:682
+#: InvenTree/models.py:696
msgid "Barcode Data"
msgstr "条码数据"
-#: InvenTree/models.py:683
+#: InvenTree/models.py:697
msgid "Third party barcode data"
msgstr "第三方条形码数据"
-#: InvenTree/models.py:688 order/serializers.py:477
+#: InvenTree/models.py:702 order/serializers.py:470
msgid "Barcode Hash"
msgstr "条码哈希"
-#: InvenTree/models.py:689
+#: InvenTree/models.py:703
msgid "Unique hash of barcode data"
msgstr "条码数据的唯一哈希"
-#: InvenTree/models.py:734
+#: InvenTree/models.py:748
msgid "Existing barcode found"
msgstr "发现现有条码"
-#: InvenTree/models.py:787
+#: InvenTree/models.py:801
msgid "Server Error"
msgstr "服务器错误"
-#: InvenTree/models.py:788
+#: InvenTree/models.py:802
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:58 part/models.py:3534
+#: InvenTree/serializers.py:59 part/models.py:3596
msgid "Must be a valid number"
msgstr "必须是有效数字"
-#: InvenTree/serializers.py:294
+#: InvenTree/serializers.py:82 company/models.py:153
+#: company/templates/company/company_base.html:107 part/models.py:2744
+#: templates/InvenTree/settings/settings_staff_js.html:44
+msgid "Currency"
+msgstr "货币"
+
+#: InvenTree/serializers.py:85
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:334
msgid "Filename"
msgstr "文件名"
-#: InvenTree/serializers.py:329
+#: InvenTree/serializers.py:371
msgid "Invalid value"
msgstr "无效值"
-#: InvenTree/serializers.py:351
+#: InvenTree/serializers.py:393
msgid "Data File"
msgstr "数据文件"
-#: InvenTree/serializers.py:352
+#: InvenTree/serializers.py:394
msgid "Select data file for upload"
msgstr "选择要上传的文件"
-#: InvenTree/serializers.py:373
+#: InvenTree/serializers.py:415
msgid "Unsupported file type"
msgstr "不支持的文件类型"
-#: InvenTree/serializers.py:379
+#: InvenTree/serializers.py:421
msgid "File is too large"
msgstr "文件过大"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:442
msgid "No columns found in file"
msgstr "在文件中没有找到列"
-#: InvenTree/serializers.py:403
+#: InvenTree/serializers.py:445
msgid "No data rows found in file"
msgstr "在文件中没有找到数据行"
-#: InvenTree/serializers.py:526
+#: InvenTree/serializers.py:568
msgid "No data rows provided"
msgstr "没有提供数据行"
-#: InvenTree/serializers.py:529
+#: InvenTree/serializers.py:571
msgid "No data columns supplied"
msgstr "没有提供数据列"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:648
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "缺少必需的列:'{name}'"
-#: InvenTree/serializers.py:615
+#: InvenTree/serializers.py:657
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "复制列: '{col}'"
-#: InvenTree/serializers.py:641
+#: InvenTree/serializers.py:683
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:642
+#: InvenTree/serializers.py:684
msgid "URL of remote image file"
msgstr "远程图像文件的 URL"
-#: InvenTree/serializers.py:656
+#: InvenTree/serializers.py:698
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图像"
-#: InvenTree/settings.py:693
+#: InvenTree/settings.py:696
msgid "Czech"
msgstr "捷克语"
-#: InvenTree/settings.py:694
+#: InvenTree/settings.py:697
msgid "Danish"
msgstr "丹麦语"
-#: InvenTree/settings.py:695
+#: InvenTree/settings.py:698
msgid "German"
msgstr "德语"
-#: InvenTree/settings.py:696
+#: InvenTree/settings.py:699
msgid "Greek"
msgstr "希腊语"
-#: InvenTree/settings.py:697
+#: InvenTree/settings.py:700
msgid "English"
msgstr "英语"
-#: InvenTree/settings.py:698
+#: InvenTree/settings.py:701
msgid "Spanish"
msgstr "西班牙语"
-#: InvenTree/settings.py:699
+#: InvenTree/settings.py:702
msgid "Spanish (Mexican)"
msgstr "西班牙语(墨西哥)"
-#: InvenTree/settings.py:700
+#: InvenTree/settings.py:703
msgid "Farsi / Persian"
msgstr "波斯语"
-#: InvenTree/settings.py:701
+#: InvenTree/settings.py:704
msgid "French"
msgstr "法语"
-#: InvenTree/settings.py:702
+#: InvenTree/settings.py:705
msgid "Hebrew"
msgstr "希伯来语"
-#: InvenTree/settings.py:703
+#: InvenTree/settings.py:706
msgid "Hungarian"
msgstr "匈牙利语"
-#: InvenTree/settings.py:704
+#: InvenTree/settings.py:707
msgid "Italian"
msgstr "意大利语"
-#: InvenTree/settings.py:705
+#: InvenTree/settings.py:708
msgid "Japanese"
msgstr "日语"
-#: InvenTree/settings.py:706
+#: InvenTree/settings.py:709
msgid "Korean"
msgstr "韩语"
-#: InvenTree/settings.py:707
+#: InvenTree/settings.py:710
msgid "Dutch"
msgstr "荷兰语"
-#: InvenTree/settings.py:708
+#: InvenTree/settings.py:711
msgid "Norwegian"
msgstr "挪威语"
-#: InvenTree/settings.py:709
+#: InvenTree/settings.py:712
msgid "Polish"
msgstr "波兰语"
-#: InvenTree/settings.py:710
+#: InvenTree/settings.py:713
msgid "Portuguese"
msgstr "葡萄牙语"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:714
msgid "Portuguese (Brazilian)"
msgstr "葡萄牙语 (巴西)"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:715
msgid "Russian"
msgstr "俄语"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:716
msgid "Slovenian"
msgstr "斯洛文尼亚"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:717
msgid "Swedish"
msgstr "瑞典语"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:718
msgid "Thai"
msgstr "泰语"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:719
msgid "Turkish"
msgstr "土耳其语"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:720
msgid "Vietnamese"
msgstr "越南语"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:721
msgid "Chinese"
msgstr "中文(简体)"
-#: InvenTree/status.py:98
+#: InvenTree/status.py:98 part/serializers.py:865
msgid "Background worker check failed"
msgstr "后台工作人员检查失败"
@@ -550,7 +563,7 @@ msgid "InvenTree system health checks failed"
msgstr "InventTree系统健康检查失败"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:366
msgid "Pending"
msgstr "待定"
@@ -579,8 +592,8 @@ msgstr "丢失"
msgid "Returned"
msgstr "已退回"
-#: InvenTree/status_codes.py:141 order/models.py:1165
-#: templates/js/translated/order.js:3674 templates/js/translated/order.js:4007
+#: InvenTree/status_codes.py:141 order/models.py:1167
+#: templates/js/translated/order.js:3726 templates/js/translated/order.js:4059
msgid "Shipped"
msgstr "已发货"
@@ -664,7 +677,7 @@ msgstr "从父项拆分"
msgid "Split child item"
msgstr "拆分子项"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2160
msgid "Merged stock items"
msgstr "合并的库存项目"
@@ -672,7 +685,7 @@ msgstr "合并的库存项目"
msgid "Converted to variant"
msgstr "转换为变量"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:241
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:245
msgid "Sent to customer"
msgstr "发送给客户"
@@ -721,27 +734,27 @@ msgstr "备损不能超过 100%"
msgid "Invalid value for overage"
msgstr "无效的备损值"
-#: InvenTree/views.py:447 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
msgstr "编辑用户信息"
-#: InvenTree/views.py:459 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
msgstr "设置密码"
-#: InvenTree/views.py:481
+#: InvenTree/views.py:443
msgid "Password fields must match"
msgstr "密码字段必须相匹配。"
-#: InvenTree/views.py:490
+#: InvenTree/views.py:452
msgid "Wrong password provided"
msgstr "密码错误"
-#: InvenTree/views.py:689 templates/navbar.html:152
+#: InvenTree/views.py:651 templates/navbar.html:152
msgid "System Information"
msgstr "系统信息"
-#: InvenTree/views.py:696 templates/navbar.html:163
+#: InvenTree/views.py:658 templates/navbar.html:163
msgid "About InvenTree"
msgstr "关于 InventTree"
@@ -749,44 +762,44 @@ msgstr "关于 InventTree"
msgid "Build must be cancelled before it can be deleted"
msgstr "在删除前必须取消生产"
-#: build/models.py:106
-msgid "Invalid choice for parent build"
-msgstr "上级生产选项无效"
-
-#: build/models.py:111 build/templates/build/build_base.html:9
+#: build/models.py:69 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:105
#: templates/email/build_order_completed.html:16
#: templates/email/overdue_build_order.html:15
-#: templates/js/translated/build.js:791
+#: templates/js/translated/build.js:793
msgid "Build Order"
msgstr "生产订单"
-#: build/models.py:112 build/templates/build/build_base.html:13
+#: build/models.py:70 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
-#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/search.js:254 users/models.py:41
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/search.js:254 users/models.py:42
msgid "Build Orders"
msgstr "生产订单"
+#: build/models.py:111
+msgid "Invalid choice for parent build"
+msgstr "上级生产选项无效"
+
#: build/models.py:155
msgid "Build Order Reference"
msgstr "相关生产订单"
-#: build/models.py:156 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3444
+#: build/models.py:156 order/models.py:240 order/models.py:655
+#: order/models.py:944 part/admin.py:277 part/models.py:3506
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:736 templates/js/translated/bom.js:912
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2332
-#: templates/js/translated/order.js:2548 templates/js/translated/order.js:3871
-#: templates/js/translated/order.js:4360 templates/js/translated/pricing.js:360
+#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:915
+#: templates/js/translated/build.js:1856 templates/js/translated/order.js:2390
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:3923
+#: templates/js/translated/order.js:4405 templates/js/translated/pricing.js:365
msgid "Reference"
msgstr "引用"
@@ -804,42 +817,43 @@ msgid "BuildOrder to which this build is allocated"
msgstr "此次生产匹配的订单"
#: build/models.py:181 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:685
-#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2787 part/models.py:2900
-#: part/models.py:2960 part/models.py:2975 part/models.py:2994
-#: part/models.py:3012 part/models.py:3111 part/models.py:3232
-#: part/models.py:3324 part/models.py:3409 part/models.py:3725
-#: part/serializers.py:1112 part/templates/part/part_app_base.html:8
+#: build/templates/build/detail.html:29 company/models.py:715
+#: order/models.py:1040 order/models.py:1151 order/models.py:1152
+#: part/models.py:382 part/models.py:2757 part/models.py:2871
+#: part/models.py:3011 part/models.py:3030 part/models.py:3049
+#: part/models.py:3070 part/models.py:3162 part/models.py:3283
+#: part/models.py:3375 part/models.py:3471 part/models.py:3776
+#: part/serializers.py:829 part/serializers.py:1234
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_bill_of_materials_report.html:110
#: report/templates/report/inventree_bill_of_materials_report.html:137
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
-#: stock/serializers.py:488 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:144
+#: stock/serializers.py:482 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/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:598
-#: templates/js/translated/bom.js:735 templates/js/translated/bom.js:856
-#: templates/js/translated/build.js:1225 templates/js/translated/build.js:1722
-#: templates/js/translated/build.js:2205 templates/js/translated/build.js:2608
-#: templates/js/translated/company.js:302
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:644
-#: templates/js/translated/company.js:905 templates/js/translated/order.js:107
-#: templates/js/translated/order.js:1206 templates/js/translated/order.js:1710
-#: templates/js/translated/order.js:2286 templates/js/translated/order.js:3229
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3855
-#: templates/js/translated/part.js:1462 templates/js/translated/part.js:1534
-#: templates/js/translated/part.js:1728 templates/js/translated/pricing.js:343
-#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1746
-#: templates/js/translated/stock.js:2555 templates/js/translated/stock.js:2750
-#: templates/js/translated/stock.js:2887
+#: templates/js/translated/barcode.js:503 templates/js/translated/bom.js:601
+#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:859
+#: templates/js/translated/build.js:1227 templates/js/translated/build.js:1724
+#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2610
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:571
+#: templates/js/translated/company.js:683
+#: templates/js/translated/company.js:944 templates/js/translated/order.js:111
+#: templates/js/translated/order.js:1264 templates/js/translated/order.js:1768
+#: templates/js/translated/order.js:2344 templates/js/translated/order.js:3281
+#: templates/js/translated/order.js:3677 templates/js/translated/order.js:3907
+#: templates/js/translated/part.js:1547 templates/js/translated/part.js:1619
+#: templates/js/translated/part.js:1813 templates/js/translated/pricing.js:348
+#: templates/js/translated/stock.js:624 templates/js/translated/stock.js:791
+#: templates/js/translated/stock.js:1003 templates/js/translated/stock.js:1779
+#: templates/js/translated/stock.js:2606 templates/js/translated/stock.js:2801
+#: templates/js/translated/stock.js:2940
msgid "Part"
msgstr "商品"
@@ -855,8 +869,8 @@ msgstr "相关销售订单"
msgid "SalesOrder to which this build is allocated"
msgstr "此次生产匹配的销售订单"
-#: build/models.py:203 build/serializers.py:824
-#: templates/js/translated/build.js:2193 templates/js/translated/order.js:3217
+#: build/models.py:203 build/serializers.py:825
+#: templates/js/translated/build.js:2195 templates/js/translated/order.js:3269
msgid "Source Location"
msgstr "来源地点"
@@ -896,21 +910,21 @@ msgstr "生产状态"
msgid "Build status code"
msgstr "生产状态代码"
-#: build/models.py:246 build/serializers.py:225 order/serializers.py:455
-#: stock/models.py:720 templates/js/translated/order.js:1568
+#: build/models.py:246 build/serializers.py:226 order/serializers.py:448
+#: stock/models.py:732 templates/js/translated/order.js:1626
msgid "Batch Code"
msgstr "批量代码"
-#: build/models.py:250 build/serializers.py:226
+#: build/models.py:250 build/serializers.py:227
msgid "Batch code for this build output"
msgstr "此生产产出的批量代码"
-#: build/models.py:253 order/models.py:87 part/models.py:1002
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2888
+#: build/models.py:253 order/models.py:86 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2940
msgid "Creation Date"
msgstr "创建日期"
-#: build/models.py:257 order/models.py:681
+#: build/models.py:257 order/models.py:685
msgid "Target completion date"
msgstr "预计完成日期"
@@ -918,8 +932,8 @@ msgstr "预计完成日期"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
-#: build/models.py:261 order/models.py:292
-#: templates/js/translated/build.js:2685
+#: build/models.py:261 order/models.py:291
+#: templates/js/translated/build.js:2687
msgid "Completion Date"
msgstr "完成日期:"
@@ -927,7 +941,7 @@ msgstr "完成日期:"
msgid "completed by"
msgstr "完成人"
-#: build/models.py:275 templates/js/translated/build.js:2653
+#: build/models.py:275 templates/js/translated/build.js:2655
msgid "Issued by"
msgstr "发布者"
@@ -936,24 +950,24 @@ msgid "User who issued this build order"
msgstr "发布此生产订单的用户"
#: build/models.py:284 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:122 order/models.py:101
+#: build/templates/build/detail.html:122 order/models.py:100
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:1006
-#: part/templates/part/part_base.html:397
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
+#: part/templates/part/part_base.html:398
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2665 templates/js/translated/order.js:2098
+#: templates/js/translated/build.js:2667 templates/js/translated/order.js:2156
msgid "Responsible"
msgstr "责任人"
#: build/models.py:285
msgid "User or group responsible for this build order"
-msgstr ""
+msgstr "构建此订单的用户或组"
#: build/models.py:290 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:390 stock/models.py:714
-#: stock/templates/stock/item_base.html:203
+#: part/templates/part/part_base.html:391 stock/models.py:726
+#: stock/templates/stock/item_base.html:206
msgid "External Link"
msgstr "外部链接"
@@ -999,11 +1013,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})"
-#: build/models.py:1207 order/models.py:1416
+#: build/models.py:1207 order/models.py:1418
msgid "Stock item is over-allocated"
msgstr "库存物品分配过度!"
-#: build/models.py:1213 order/models.py:1419
+#: build/models.py:1213 order/models.py:1421
msgid "Allocation quantity must be greater than zero"
msgstr "分配数量必须大于0"
@@ -1016,7 +1030,7 @@ msgid "Selected stock item not found in BOM"
msgstr "在BOM中找不到选定的库存项"
#: build/models.py:1345 stock/templates/stock/item_base.html:175
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2581
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2583
#: templates/navbar.html:38
msgid "Build"
msgstr "生产"
@@ -1025,18 +1039,18 @@ msgstr "生产"
msgid "Build to allocate parts"
msgstr "生产以分配部件"
-#: build/models.py:1362 build/serializers.py:664 order/serializers.py:1032
-#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1362 build/serializers.py:674 order/serializers.py:1008
+#: order/serializers.py:1029 stock/serializers.py:386 stock/serializers.py:739
+#: stock/serializers.py:865 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
-#: stock/templates/stock/item_base.html:197
-#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2207 templates/js/translated/build.js:2770
-#: templates/js/translated/order.js:108 templates/js/translated/order.js:3230
-#: templates/js/translated/order.js:3532 templates/js/translated/order.js:3537
-#: templates/js/translated/order.js:3632 templates/js/translated/order.js:3724
-#: templates/js/translated/part.js:786 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/build.js:803 templates/js/translated/build.js:808
+#: templates/js/translated/build.js:2209 templates/js/translated/build.js:2772
+#: templates/js/translated/order.js:112 templates/js/translated/order.js:3282
+#: templates/js/translated/order.js:3584 templates/js/translated/order.js:3589
+#: templates/js/translated/order.js:3684 templates/js/translated/order.js:3776
+#: templates/js/translated/stock.js:625 templates/js/translated/stock.js:792
+#: templates/js/translated/stock.js:2679
msgid "Stock Item"
msgstr "库存项"
@@ -1044,12 +1058,12 @@ msgstr "库存项"
msgid "Source stock item"
msgstr "源库存项"
-#: build/models.py:1375 build/serializers.py:193
+#: build/models.py:1375 build/serializers.py:194
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1973
-#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
-#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:256
-#: part/forms.py:40 part/models.py:2907 part/models.py:3425
+#: build/templates/build/detail.html:34 common/models.py:2019
+#: order/models.py:937 order/models.py:1462 order/serializers.py:1182
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:276
+#: part/forms.py:47 part/models.py:2884 part/models.py:3487
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1058,30 +1072,29 @@ msgstr "源库存项"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/admin.py:86 stock/serializers.py:285
-#: stock/templates/stock/item_base.html:290
-#: stock/templates/stock/item_base.html:298
+#: stock/admin.py:103 stock/serializers.py:279
+#: stock/templates/stock/item_base.html:293
+#: stock/templates/stock/item_base.html:301
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:737
-#: templates/js/translated/bom.js:920 templates/js/translated/build.js:481
-#: templates/js/translated/build.js:637 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
-#: templates/js/translated/build.js:2208
-#: templates/js/translated/company.js:1164
+#: templates/js/translated/barcode.js:505 templates/js/translated/bom.js:740
+#: templates/js/translated/bom.js:923 templates/js/translated/build.js:481
+#: templates/js/translated/build.js:639 templates/js/translated/build.js:830
+#: templates/js/translated/build.js:1249 templates/js/translated/build.js:1750
+#: templates/js/translated/build.js:2210
+#: templates/js/translated/company.js:1199
#: templates/js/translated/model_renderers.js:122
-#: templates/js/translated/order.js:124 templates/js/translated/order.js:1209
-#: templates/js/translated/order.js:2338 templates/js/translated/order.js:2554
-#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3551
-#: templates/js/translated/order.js:3638 templates/js/translated/order.js:3730
-#: templates/js/translated/order.js:3877 templates/js/translated/order.js:4366
-#: templates/js/translated/part.js:788 templates/js/translated/part.js:859
-#: templates/js/translated/part.js:1332 templates/js/translated/part.js:2832
-#: templates/js/translated/pricing.js:355
-#: templates/js/translated/pricing.js:448
-#: templates/js/translated/pricing.js:496
-#: templates/js/translated/pricing.js:590 templates/js/translated/stock.js:489
-#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
+#: templates/js/translated/order.js:128 templates/js/translated/order.js:1267
+#: templates/js/translated/order.js:2396 templates/js/translated/order.js:2612
+#: templates/js/translated/order.js:3283 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/order.js:3782
+#: templates/js/translated/order.js:3929 templates/js/translated/order.js:4411
+#: templates/js/translated/part.js:812 templates/js/translated/part.js:1417
+#: templates/js/translated/part.js:2931 templates/js/translated/pricing.js:360
+#: templates/js/translated/pricing.js:453
+#: templates/js/translated/pricing.js:501
+#: templates/js/translated/pricing.js:595 templates/js/translated/stock.js:496
+#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:822
+#: templates/js/translated/stock.js:2728 templates/js/translated/stock.js:2813
msgid "Quantity"
msgstr "数量"
@@ -1097,249 +1110,249 @@ msgstr "安装到"
msgid "Destination stock item"
msgstr "目标库存项"
-#: build/serializers.py:138 build/serializers.py:693
-#: templates/js/translated/build.js:1235
+#: build/serializers.py:145 build/serializers.py:703
+#: templates/js/translated/build.js:1237
msgid "Build Output"
msgstr "生产产出"
-#: build/serializers.py:150
+#: build/serializers.py:157
msgid "Build output does not match the parent build"
msgstr "生产产出与对应生产不匹配"
-#: build/serializers.py:154
+#: build/serializers.py:161
msgid "Output part does not match BuildOrder part"
msgstr "产出部件与生产订单部件不匹配"
-#: build/serializers.py:158
+#: build/serializers.py:165
msgid "This build output has already been completed"
msgstr "此生产产出已经完成"
-#: build/serializers.py:169
+#: build/serializers.py:176
msgid "This build output is not fully allocated"
msgstr "生产产出未被完成分配"
-#: build/serializers.py:194
+#: build/serializers.py:195
msgid "Enter quantity for build output"
msgstr "输入生产产出数量"
-#: build/serializers.py:208 build/serializers.py:684 order/models.py:327
-#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:904
-#: part/serializers.py:1275 stock/models.py:574 stock/models.py:1326
-#: stock/serializers.py:294
+#: build/serializers.py:209 build/serializers.py:694 order/models.py:326
+#: order/serializers.py:321 order/serializers.py:443 part/serializers.py:1074
+#: part/serializers.py:1397 stock/models.py:586 stock/models.py:1338
+#: stock/serializers.py:288
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
-#: build/serializers.py:215
+#: build/serializers.py:216
msgid "Integer quantity required for trackable parts"
msgstr "对于可追踪的部件,需要整数型数值"
-#: build/serializers.py:218
+#: build/serializers.py:219
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "需要整数型数值,因为BOM包含可追踪的部件"
-#: build/serializers.py:232 order/serializers.py:463 order/serializers.py:1210
-#: stock/serializers.py:303 templates/js/translated/order.js:1579
-#: templates/js/translated/stock.js:302 templates/js/translated/stock.js:490
+#: build/serializers.py:233 order/serializers.py:456 order/serializers.py:1186
+#: stock/serializers.py:297 templates/js/translated/order.js:1637
+#: templates/js/translated/stock.js:303 templates/js/translated/stock.js:497
msgid "Serial Numbers"
msgstr "序列号"
-#: build/serializers.py:233
+#: build/serializers.py:234
msgid "Enter serial numbers for build outputs"
msgstr "输入生产产出的序列号"
-#: build/serializers.py:246
+#: build/serializers.py:247
msgid "Auto Allocate Serial Numbers"
msgstr "自动分配序列号"
-#: build/serializers.py:247
+#: build/serializers.py:248
msgid "Automatically allocate required items with matching serial numbers"
msgstr "自动为所需项分配对应的序列号"
-#: build/serializers.py:282 stock/api.py:601
+#: build/serializers.py:283 stock/api.py:635
msgid "The following serial numbers already exist or are invalid"
msgstr "以下序列号已存在或无效"
-#: build/serializers.py:331 build/serializers.py:400
+#: build/serializers.py:332 build/serializers.py:401
msgid "A list of build outputs must be provided"
msgstr "必须提供生产产出列表"
-#: build/serializers.py:370 order/serializers.py:436 order/serializers.py:547
-#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
-#: stock/serializers.py:919 stock/serializers.py:1152
-#: stock/templates/stock/item_base.html:388
+#: build/serializers.py:371 order/serializers.py:429 order/serializers.py:548
+#: part/serializers.py:841 stock/serializers.py:308 stock/serializers.py:443
+#: stock/serializers.py:524 stock/serializers.py:900 stock/serializers.py:1142
+#: stock/templates/stock/item_base.html:391
#: templates/js/translated/barcode.js:504
-#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1760 templates/js/translated/order.js:1606
-#: templates/js/translated/order.js:3544 templates/js/translated/order.js:3649
-#: templates/js/translated/order.js:3657 templates/js/translated/order.js:3738
-#: templates/js/translated/part.js:787 templates/js/translated/stock.js:619
-#: templates/js/translated/stock.js:784 templates/js/translated/stock.js:994
-#: templates/js/translated/stock.js:1898 templates/js/translated/stock.js:2569
+#: templates/js/translated/barcode.js:748 templates/js/translated/build.js:815
+#: templates/js/translated/build.js:1762 templates/js/translated/order.js:1664
+#: templates/js/translated/order.js:3596 templates/js/translated/order.js:3701
+#: templates/js/translated/order.js:3709 templates/js/translated/order.js:3790
+#: templates/js/translated/stock.js:626 templates/js/translated/stock.js:793
+#: templates/js/translated/stock.js:1005 templates/js/translated/stock.js:1931
+#: templates/js/translated/stock.js:2620
msgid "Location"
msgstr "地点"
-#: build/serializers.py:371
+#: build/serializers.py:372
msgid "Location for completed build outputs"
msgstr "已完成生产产出的仓储地点"
-#: build/serializers.py:377 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:670
-#: order/serializers.py:473 stock/admin.py:89
-#: stock/templates/stock/item_base.html:421
-#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2637
-#: templates/js/translated/order.js:1715 templates/js/translated/order.js:2068
-#: templates/js/translated/order.js:2880 templates/js/translated/stock.js:1873
-#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
+#: build/serializers.py:378 build/templates/build/build_base.html:145
+#: build/templates/build/detail.html:62 order/models.py:674
+#: order/serializers.py:466 stock/admin.py:106
+#: stock/templates/stock/item_base.html:424
+#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2639
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2126
+#: templates/js/translated/order.js:2932 templates/js/translated/stock.js:1906
+#: templates/js/translated/stock.js:2697 templates/js/translated/stock.js:2829
msgid "Status"
msgstr "状态"
-#: build/serializers.py:383
+#: build/serializers.py:384
msgid "Accept Incomplete Allocation"
msgstr "接受不完整的分配"
-#: build/serializers.py:384
+#: build/serializers.py:385
msgid "Complete outputs if stock has not been fully allocated"
msgstr "如果库存尚未完成分配,完成产出"
-#: build/serializers.py:453
+#: build/serializers.py:454
msgid "Remove Allocated Stock"
msgstr "移除已分配的库存"
-#: build/serializers.py:454
+#: build/serializers.py:455
msgid "Subtract any stock which has already been allocated to this build"
msgstr "减去已经分配至此生产的库存"
-#: build/serializers.py:460
+#: build/serializers.py:461
msgid "Remove Incomplete Outputs"
msgstr "移除未完成的产出"
-#: build/serializers.py:461
+#: build/serializers.py:462
msgid "Delete any build outputs which have not been completed"
msgstr "删除所有未完成的生产产出"
-#: build/serializers.py:489
+#: build/serializers.py:490
msgid "Accept as consumed by this build order"
msgstr "接受此构建订单所消耗的内容"
-#: build/serializers.py:490
+#: build/serializers.py:491
msgid "Deallocate before completing this build order"
msgstr "在完成此构建订单前取消分配"
-#: build/serializers.py:513
+#: build/serializers.py:514
msgid "Overallocated Stock"
msgstr "超出分配的库存"
-#: build/serializers.py:515
+#: build/serializers.py:516
msgid "How do you want to handle extra stock items assigned to the build order"
msgstr "你想如何处理分配给构建订单的额外库存物品"
-#: build/serializers.py:525
+#: build/serializers.py:526
msgid "Some stock items have been overallocated"
msgstr "一些库存项已被过度分配"
-#: build/serializers.py:530
+#: build/serializers.py:531
msgid "Accept Unallocated"
msgstr "接受未分配的"
-#: build/serializers.py:531
+#: build/serializers.py:532
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "接受库存项未被完成分配至此生产订单"
-#: build/serializers.py:541 templates/js/translated/build.js:265
+#: build/serializers.py:542 templates/js/translated/build.js:265
msgid "Required stock has not been fully allocated"
msgstr "所需库存尚未完全分配"
-#: build/serializers.py:546 order/serializers.py:202 order/serializers.py:1100
+#: build/serializers.py:547 order/serializers.py:204 order/serializers.py:1076
msgid "Accept Incomplete"
msgstr "接受未完成"
-#: build/serializers.py:547
+#: build/serializers.py:548
msgid "Accept that the required number of build outputs have not been completed"
msgstr "接受所需的生产产出未完成"
-#: build/serializers.py:557 templates/js/translated/build.js:269
+#: build/serializers.py:558 templates/js/translated/build.js:269
msgid "Required build quantity has not been completed"
msgstr "所需生产数量尚未完成"
-#: build/serializers.py:566 templates/js/translated/build.js:253
+#: build/serializers.py:567 templates/js/translated/build.js:253
msgid "Build order has incomplete outputs"
msgstr "生产订单有未完成的产出"
-#: build/serializers.py:596 build/serializers.py:641 part/models.py:3561
-#: part/models.py:3717
+#: build/serializers.py:597 build/serializers.py:651 part/models.py:3398
+#: part/models.py:3768
msgid "BOM Item"
msgstr "BOM项"
-#: build/serializers.py:606
+#: build/serializers.py:607
msgid "Build output"
msgstr "生产产出"
-#: build/serializers.py:614
+#: build/serializers.py:615
msgid "Build output must point to the same build"
msgstr "生产产出必须指向相同的生产"
-#: build/serializers.py:655
+#: build/serializers.py:665
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part 必须与生产订单指向相同的部件"
-#: build/serializers.py:670 stock/serializers.py:771
+#: build/serializers.py:680 stock/serializers.py:752
msgid "Item must be in stock"
msgstr "项目必须在库存中"
-#: build/serializers.py:728 order/serializers.py:1090
+#: build/serializers.py:729 order/serializers.py:1066
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "可用量 ({q}) 超出了限制"
-#: build/serializers.py:734
+#: build/serializers.py:735
msgid "Build output must be specified for allocation of tracked parts"
msgstr "对于被追踪的部件的分配,必须指定生产产出"
-#: build/serializers.py:741
+#: build/serializers.py:742
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "对于未被追踪的部件,无法指定生产产出"
-#: build/serializers.py:746
+#: build/serializers.py:747
msgid "This stock item has already been allocated to this build output"
msgstr "此库存项已被分配至此生产产出"
-#: build/serializers.py:769 order/serializers.py:1374
+#: build/serializers.py:770 order/serializers.py:1350
msgid "Allocation items must be provided"
msgstr "必须提供分配的项"
-#: build/serializers.py:825
+#: build/serializers.py:826
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)"
-#: build/serializers.py:833
+#: build/serializers.py:834
msgid "Exclude Location"
msgstr "排除地点"
-#: build/serializers.py:834
+#: build/serializers.py:835
msgid "Exclude stock items from this selected location"
msgstr "从该选定的仓储地点排除库存项"
-#: build/serializers.py:839
+#: build/serializers.py:840
msgid "Interchangeable Stock"
msgstr "可互换的库存"
-#: build/serializers.py:840
+#: build/serializers.py:841
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "多处地点的库存项可以互换使用"
-#: build/serializers.py:845
+#: build/serializers.py:846
msgid "Substitute Stock"
msgstr "可替换的库存"
-#: build/serializers.py:846
+#: build/serializers.py:847
msgid "Allow allocation of substitute parts"
msgstr "允许分配可替换的部件"
-#: build/serializers.py:851
+#: build/serializers.py:852
msgid "Optional Items"
msgstr "可选项目"
-#: build/serializers.py:852
+#: build/serializers.py:853
msgid "Allocate optional BOM items to build order"
msgstr "分配可选的BOM项目来建立订单"
@@ -1426,13 +1439,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "库存尚未被完全分配到此构建订单"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:138 order/models.py:947
+#: build/templates/build/detail.html:138 order/models.py:950
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2677 templates/js/translated/order.js:2085
-#: templates/js/translated/order.js:2414 templates/js/translated/order.js:2896
-#: templates/js/translated/order.js:3920 templates/js/translated/part.js:1347
+#: templates/js/translated/build.js:2679 templates/js/translated/order.js:2143
+#: templates/js/translated/order.js:2472 templates/js/translated/order.js:2948
+#: templates/js/translated/order.js:3972 templates/js/translated/part.js:1432
msgid "Target Date"
msgstr "预计日期"
@@ -1445,29 +1458,29 @@ msgstr "此次生产的截止日期为 %(target)s"
#: build/templates/build/build_base.html:211
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:348
-#: templates/js/translated/table_filters.js:389
-#: templates/js/translated/table_filters.js:419
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:423
msgid "Overdue"
msgstr "逾期"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:428
+#: templates/js/translated/table_filters.js:432
msgid "Completed"
msgstr "已完成"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:101 order/api.py:1259 order/models.py:1142
-#: order/models.py:1236 order/models.py:1367
+#: build/templates/build/detail.html:101 order/api.py:1261 order/models.py:1144
+#: order/models.py:1238 order/models.py:1369
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:371
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2842 templates/js/translated/pricing.js:878
+#: templates/js/translated/order.js:2894 templates/js/translated/pricing.js:891
msgid "Sales Order"
msgstr "销售订单"
@@ -1478,7 +1491,7 @@ msgid "Issued By"
msgstr "发布者"
#: build/templates/build/build_base.html:200
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2602
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2604
msgid "Priority"
msgstr "优先级"
@@ -1498,8 +1511,8 @@ msgstr "库存来源"
msgid "Stock can be taken from any available location."
msgstr "库存可以从任何可用的地点获得。"
-#: build/templates/build/detail.html:49 order/models.py:1060
-#: templates/js/translated/order.js:1716 templates/js/translated/order.js:2456
+#: build/templates/build/detail.html:49 order/models.py:1062
+#: templates/js/translated/order.js:1774 templates/js/translated/order.js:2514
msgid "Destination"
msgstr "目的地"
@@ -1511,21 +1524,21 @@ msgstr "目标位置未指定"
msgid "Allocated Parts"
msgstr "已分配的部件"
-#: build/templates/build/detail.html:80 stock/admin.py:88
+#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:168
-#: templates/js/translated/build.js:1251
+#: templates/js/translated/build.js:1253
#: templates/js/translated/model_renderers.js:126
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1887
-#: templates/js/translated/stock.js:2785
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:270
+#: templates/js/translated/stock.js:1075 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2836
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:274
msgid "Batch"
msgstr "批量"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:158
-#: templates/js/translated/build.js:2645
+#: templates/js/translated/build.js:2647
msgid "Created"
msgstr "已创建"
@@ -1545,7 +1558,7 @@ msgstr "子生产订单"
msgid "Allocate Stock to Build"
msgstr "为生产分配库存"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2016
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2018
msgid "Unallocate stock"
msgstr "未分配库存"
@@ -1576,7 +1589,7 @@ msgstr "订单所需部件"
#: build/templates/build/detail.html:194
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1249
+#: part/templates/part/category.html:184 templates/js/translated/order.js:1307
msgid "Order Parts"
msgstr "订购商品"
@@ -1629,27 +1642,29 @@ msgid "Delete outputs"
msgstr "删除输出"
#: build/templates/build/detail.html:274
-#: stock/templates/stock/location.html:228 templates/stock_table.html:27
+#: stock/templates/stock/location.html:234 templates/stock_table.html:27
msgid "Printing Actions"
msgstr "打印操作"
#: build/templates/build/detail.html:278 build/templates/build/detail.html:279
-#: stock/templates/stock/location.html:232 templates/stock_table.html:31
+#: stock/templates/stock/location.html:238 templates/stock_table.html:31
msgid "Print labels"
msgstr "打印标签"
#: build/templates/build/detail.html:301
msgid "Completed Build Outputs"
-msgstr ""
+msgstr "已完成构建输出"
#: build/templates/build/detail.html:313 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:200
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:27
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:233
-#: part/templates/part/part_sidebar.html:60 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "附件"
@@ -1660,13 +1675,13 @@ msgstr "生产备注"
#: build/templates/build/detail.html:511
msgid "Allocation Complete"
-msgstr ""
+msgstr "分配完成"
#: build/templates/build/detail.html:512
msgid "All untracked stock items have been allocated"
-msgstr ""
+msgstr "所有未跟踪的库存项目都已分配"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:339
+#: build/templates/build/index.html:18 part/templates/part/detail.html:340
msgid "New Build Order"
msgstr "新建生产订单"
@@ -1676,7 +1691,7 @@ msgstr "打印生产订单"
#: build/templates/build/sidebar.html:5
msgid "Build Order Details"
-msgstr ""
+msgstr "生产订单详情"
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
@@ -1684,7 +1699,7 @@ msgstr "未完成输出"
#: build/templates/build/sidebar.html:15
msgid "Completed Outputs"
-msgstr ""
+msgstr "已完成输出"
#: common/files.py:62
msgid "Unsupported file format: {ext.upper()}"
@@ -1692,1303 +1707,1338 @@ msgstr "不支持的文件格式: {ext.uper()}"
#: common/files.py:64
msgid "Error reading file (invalid encoding)"
-msgstr ""
+msgstr "读取文件时发生错误 (无效编码)"
#: common/files.py:69
msgid "Error reading file (invalid format)"
-msgstr ""
+msgstr "读取文件时发生错误 (无效编码)"
#: common/files.py:71
msgid "Error reading file (incorrect dimension)"
-msgstr ""
+msgstr "读取文件时出错(不正确的尺寸)"
#: common/files.py:73
msgid "Error reading file (data could be corrupted)"
-msgstr ""
+msgstr "读取文件时出错(数据可能已损坏)"
#: common/forms.py:13
msgid "File"
-msgstr ""
+msgstr "文件"
#: common/forms.py:14
msgid "Select file to upload"
-msgstr ""
+msgstr "选择要上传的文件"
#: common/forms.py:28
msgid "{name.title()} File"
-msgstr ""
+msgstr "{name.title()} 文件"
#: common/forms.py:29
#, python-brace-format
msgid "Select {name} file to upload"
-msgstr ""
-
-#: common/models.py:65 templates/js/translated/part.js:789
-msgid "Updated"
-msgstr ""
+msgstr "选择 {name} 文件上传"
#: common/models.py:66
+msgid "Updated"
+msgstr "已更新"
+
+#: common/models.py:67
msgid "Timestamp of last update"
-msgstr ""
+msgstr "最后一次更新时间"
-#: common/models.py:495
+#: common/models.py:496
msgid "Settings key (must be unique - case insensitive)"
-msgstr ""
+msgstr "设置键值(必须是唯一的 - 大小写不敏感)"
-#: common/models.py:497
+#: common/models.py:498
msgid "Settings value"
-msgstr ""
+msgstr "设定值"
-#: common/models.py:538
+#: common/models.py:539
msgid "Chosen value is not a valid option"
-msgstr ""
+msgstr "选择的值不是一个有效的选项"
-#: common/models.py:555
+#: common/models.py:556
msgid "Value must be a boolean value"
-msgstr ""
+msgstr "值必须是布尔量"
-#: common/models.py:566
+#: common/models.py:567
msgid "Value must be an integer value"
-msgstr ""
+msgstr "值必须为整数"
-#: common/models.py:611
+#: common/models.py:612
msgid "Key string must be unique"
-msgstr ""
+msgstr "关键字必须是唯一的"
-#: common/models.py:806
+#: common/models.py:807
msgid "No group"
-msgstr ""
+msgstr "无群组"
-#: common/models.py:831
+#: common/models.py:832
msgid "An empty domain is not allowed."
-msgstr ""
+msgstr "不允许空域。"
-#: common/models.py:833
+#: common/models.py:834
#, python-brace-format
msgid "Invalid domain name: {domain}"
-msgstr ""
+msgstr "无效的域名: {domain}"
-#: common/models.py:884
+#: common/models.py:891
msgid "Restart required"
-msgstr ""
-
-#: common/models.py:885
-msgid "A setting has been changed which requires a server restart"
-msgstr ""
+msgstr "需要重启"
#: common/models.py:892
-msgid "Server Instance Name"
-msgstr ""
+msgid "A setting has been changed which requires a server restart"
+msgstr "设置已更改,需要服务器重启"
-#: common/models.py:894
+#: common/models.py:899
+msgid "Server Instance Name"
+msgstr "服务器实例名称"
+
+#: common/models.py:901
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:899
+#: common/models.py:906
msgid "Use instance name"
msgstr ""
-#: common/models.py:900
+#: common/models.py:907
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:906
+#: common/models.py:913
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:907
+#: common/models.py:914
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:913 company/models.py:98 company/models.py:99
+#: common/models.py:920 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "公司名称"
-#: common/models.py:914
+#: common/models.py:921
msgid "Internal company name"
msgstr "内部公司名称"
-#: common/models.py:919
+#: common/models.py:926
msgid "Base URL"
msgstr ""
-#: common/models.py:920
+#: common/models.py:927
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:927
+#: common/models.py:934
msgid "Default Currency"
msgstr ""
-#: common/models.py:928
+#: common/models.py:935
msgid "Select base currency for pricing caluclations"
msgstr ""
-#: common/models.py:935
+#: common/models.py:942
msgid "Download from URL"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Download Size Limit"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Maximum allowable download size for remote image"
msgstr ""
-#: common/models.py:954
+#: common/models.py:961
msgid "User-agent used to download from URL"
msgstr ""
-#: common/models.py:955
+#: common/models.py:962
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
msgstr ""
-#: common/models.py:960
+#: common/models.py:967
msgid "Require confirm"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Require explicit user confirmation for certain action."
msgstr ""
-#: common/models.py:967
+#: common/models.py:974
msgid "Tree Depth"
msgstr ""
-#: common/models.py:968
+#: common/models.py:975
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
msgstr ""
-#: common/models.py:977
+#: common/models.py:984
msgid "Automatic Backup"
msgstr ""
-#: common/models.py:978
+#: common/models.py:985
msgid "Enable automatic backup of database and media files"
msgstr ""
-#: common/models.py:984
+#: common/models.py:991
msgid "Days Between Backup"
msgstr ""
-#: common/models.py:985
+#: common/models.py:992
msgid "Specify number of days between automated backup events"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Delete Old Tasks"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Background task results will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1012
msgid "Delete Error Logs"
msgstr ""
-#: common/models.py:1006
+#: common/models.py:1013
msgid "Error logs will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1016 templates/InvenTree/notifications/history.html:13
+#: common/models.py:1023 templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:77
msgid "Delete Notifications"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "User notifications will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1027 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:1034 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1035
msgid "Enable barcode scanner support"
msgstr "启用条形码扫描支持"
-#: common/models.py:1034
+#: common/models.py:1041
msgid "Barcode Input Delay"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1042
msgid "Barcode input processing delay time"
msgstr ""
-#: common/models.py:1045
+#: common/models.py:1052
msgid "Barcode Webcam Support"
msgstr ""
-#: common/models.py:1046
+#: common/models.py:1053
msgid "Allow barcode scanning via webcam in browser"
msgstr ""
-#: common/models.py:1052
+#: common/models.py:1059
msgid "IPN Regex"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1060
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:1057
+#: common/models.py:1064
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:1058
+#: common/models.py:1065
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:1064
+#: common/models.py:1071
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1072
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1079
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1085
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:1079
+#: common/models.py:1086
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:1085
+#: common/models.py:1092
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:1086
+#: common/models.py:1093
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:1092
+#: common/models.py:1099
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:1093
+#: common/models.py:1100
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1099 part/admin.py:41 part/models.py:3234
+#: common/models.py:1106 part/admin.py:55 part/models.py:3285
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:520
msgid "Template"
msgstr "模板"
-#: common/models.py:1100
+#: common/models.py:1107
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1106 part/admin.py:37 part/admin.py:262 part/models.py:958
-#: templates/js/translated/bom.js:1602
-#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:475
+#: common/models.py:1113 part/admin.py:51 part/admin.py:282 part/models.py:927
+#: templates/js/translated/bom.js:1605
+#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:479
msgid "Assembly"
msgstr "组装"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1113 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:483
+#: common/models.py:1120 part/admin.py:52 part/models.py:933
+#: templates/js/translated/table_filters.js:487
msgid "Component"
msgstr "组件"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1120 part/admin.py:39 part/models.py:975
+#: common/models.py:1127 part/admin.py:53 part/models.py:944
msgid "Purchaseable"
msgstr "可购买"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
-#: common/models.py:1127 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:504
+#: common/models.py:1134 part/admin.py:54 part/models.py:949
+#: templates/js/translated/table_filters.js:508
msgid "Salable"
msgstr "可销售"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Parts are salable by default"
msgstr "商品默认可销售"
-#: common/models.py:1134 part/admin.py:42 part/models.py:970
+#: common/models.py:1141 part/admin.py:56 part/models.py:939
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:524
msgid "Trackable"
msgstr "可追踪"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Parts are trackable by default"
msgstr "商品默认可跟踪"
-#: common/models.py:1141 part/admin.py:43 part/models.py:990
+#: common/models.py:1148 part/admin.py:57 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:528
msgid "Virtual"
msgstr "虚拟"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Parts are virtual by default"
msgstr "商品默认是虚拟的"
-#: common/models.py:1148
+#: common/models.py:1155
msgid "Show Import in Views"
msgstr "视图中显示导入"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Display the import wizard in some part views"
msgstr "在一些商品视图中显示导入向导"
-#: common/models.py:1155
+#: common/models.py:1162
msgid "Show related parts"
msgstr "显示相关商品"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1162
+#: common/models.py:1169
msgid "Initial Stock Data"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Allow creation of initial stock when adding a new part"
msgstr ""
-#: common/models.py:1169 templates/js/translated/part.js:73
+#: common/models.py:1176 templates/js/translated/part.js:74
msgid "Initial Supplier Data"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Allow creation of initial supplier data when adding a new part"
msgstr ""
-#: common/models.py:1176
+#: common/models.py:1183
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1184
+#: common/models.py:1191
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1190
+#: common/models.py:1197
msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1201
+#: common/models.py:1208
msgid "Use Supplier Pricing"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Include supplier price breaks in overall pricing calculations"
msgstr ""
-#: common/models.py:1208
+#: common/models.py:1215
msgid "Purchase History Override"
msgstr ""
-#: common/models.py:1209
+#: common/models.py:1216
msgid "Historical purchase order pricing overrides supplier price breaks"
msgstr ""
-#: common/models.py:1215
+#: common/models.py:1222
msgid "Use Stock Item Pricing"
msgstr ""
-#: common/models.py:1216
+#: common/models.py:1223
msgid "Use pricing from manually entered stock data for pricing calculations"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1229
msgid "Stock Item Pricing Age"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1230
msgid "Exclude stock items older than this number of days from pricing calculations"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Use Variant Pricing"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Include variant pricing in overall pricing calculations"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Active Variants Only"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Only use active variant parts for calculating variant pricing"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1249 common/models.py:1372
+#: common/models.py:1256 common/models.py:1379
msgid "days"
msgstr "天"
-#: common/models.py:1258
+#: common/models.py:1265
msgid "Internal Prices"
msgstr "内部价格"
-#: common/models.py:1259
+#: common/models.py:1266
msgid "Enable internal prices for parts"
msgstr "启用内部商品价格"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1289
+#: common/models.py:1296
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1296 templates/stats.html:25
+#: common/models.py:1303 templates/stats.html:25
msgid "Debug Mode"
msgstr "调试模式"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Generate reports in debug mode (HTML output)"
msgstr "在调试模式生成报告(HTML输出)"
-#: common/models.py:1303
+#: common/models.py:1310
msgid "Page Size"
msgstr "页面大小"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Default page size for PDF reports"
msgstr "PDF 报表默认页面大小"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Enable generation of test reports"
msgstr "启用生成测试报表"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Autofill Serial Numbers"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Autofill serial numbers in forms"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Delete Depleted Stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Determines default behaviour when a stock item is depleted"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Stock Expiry"
msgstr "库存到期"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable stock expiry functionality"
msgstr "启用库存到期功能"
-#: common/models.py:1362
+#: common/models.py:1369
msgid "Sell Expired Stock"
msgstr "销售过期库存"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Allow sale of expired stock"
msgstr "允许销售过期库存"
-#: common/models.py:1369
+#: common/models.py:1376
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Stock Ownership Control"
msgstr "库存所有权控制"
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1392
+#: common/models.py:1399
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1441
+#: common/models.py:1448
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Enable registration"
msgstr ""
-#: common/models.py:1448
+#: common/models.py:1455
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1455
+#: common/models.py:1462
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Enable SSO registration"
msgstr ""
-#: common/models.py:1462
+#: common/models.py:1469
msgid "Enable self-registration via SSO for users on the login pages"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Email required"
msgstr ""
-#: common/models.py:1469
+#: common/models.py:1476
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1476
+#: common/models.py:1483
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Mail twice"
msgstr ""
-#: common/models.py:1483
+#: common/models.py:1490
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "Password twice"
msgstr ""
-#: common/models.py:1490
+#: common/models.py:1497
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Allowed domains"
msgstr ""
-#: common/models.py:1497
+#: common/models.py:1504
msgid "Restrict signup to certain domains (comma-separated, strarting with @)"
msgstr ""
-#: common/models.py:1503
+#: common/models.py:1510
msgid "Group on signup"
msgstr ""
-#: common/models.py:1504
+#: common/models.py:1511
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1510
+#: common/models.py:1517
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1517
+#: common/models.py:1524
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1518
+#: common/models.py:1525
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1525
+#: common/models.py:1532
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1526
+#: common/models.py:1533
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1533
+#: common/models.py:1540
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1557
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1564
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1565
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1572
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1566
+#: common/models.py:1573
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1585 common/models.py:1934
+#: common/models.py:1580
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1581
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1597
+msgid "Delete Old Reports"
+msgstr ""
+
+#: common/models.py:1598
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1615 common/models.py:1980
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1634
+msgid "No Printer (Export to PDF)"
+msgstr ""
+
+#: common/models.py:1655
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1608
+#: common/models.py:1656
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1662
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1615
+#: common/models.py:1663
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1669
msgid "Show latest parts"
msgstr "显示最近商品"
-#: common/models.py:1622
+#: common/models.py:1670
msgid "Show latest parts on the homepage"
msgstr "在主页上显示最近商品"
-#: common/models.py:1628
+#: common/models.py:1676
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1629
+#: common/models.py:1677
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1683
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1636
+#: common/models.py:1684
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1690
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1643
+#: common/models.py:1691
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1697
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1650
+#: common/models.py:1698
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1704
msgid "Show low stock"
msgstr ""
-#: common/models.py:1657
+#: common/models.py:1705
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1711
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1664
+#: common/models.py:1712
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1718
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1719
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1725
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1678
+#: common/models.py:1726
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1732
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1733
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1739
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1692
+#: common/models.py:1740
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1746
msgid "Show overdue builds"
msgstr "显示逾期生产"
-#: common/models.py:1699
+#: common/models.py:1747
msgid "Show overdue builds on the homepage"
msgstr "在主页上显示逾期的生产"
-#: common/models.py:1705
+#: common/models.py:1753
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1754
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1760
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1761
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1719
+#: common/models.py:1767
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1768
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1774
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1775
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1733
+#: common/models.py:1781
msgid "Show News"
msgstr ""
-#: common/models.py:1734
+#: common/models.py:1782
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1740
+#: common/models.py:1788
msgid "Inline label display"
msgstr "内嵌标签显示"
-#: common/models.py:1741
+#: common/models.py:1789
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载"
-#: common/models.py:1747
-msgid "Inline report display"
-msgstr ""
-
-#: common/models.py:1748
-msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载"
-
-#: common/models.py:1754
-msgid "Search Parts"
-msgstr ""
-
-#: common/models.py:1755
-msgid "Display parts in search preview window"
-msgstr ""
-
-#: common/models.py:1761
-msgid "Seach Supplier Parts"
-msgstr ""
-
-#: common/models.py:1762
-msgid "Display supplier parts in search preview window"
-msgstr ""
-
-#: common/models.py:1768
-msgid "Search Manufacturer Parts"
-msgstr ""
-
-#: common/models.py:1769
-msgid "Display manufacturer parts in search preview window"
-msgstr ""
-
-#: common/models.py:1775
-msgid "Hide Inactive Parts"
-msgstr ""
-
-#: common/models.py:1776
-msgid "Excluded inactive parts from search preview window"
-msgstr ""
-
-#: common/models.py:1782
-msgid "Search Categories"
-msgstr ""
-
-#: common/models.py:1783
-msgid "Display part categories in search preview window"
-msgstr ""
-
-#: common/models.py:1789
-msgid "Search Stock"
-msgstr ""
-
-#: common/models.py:1790
-msgid "Display stock items in search preview window"
+#: common/models.py:1795
+msgid "Default label printer"
msgstr ""
#: common/models.py:1796
-msgid "Hide Unavailable Stock Items"
+msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:1797
-msgid "Exclude stock items which are not available from the search preview window"
+#: common/models.py:1802
+msgid "Inline report display"
msgstr ""
#: common/models.py:1803
-msgid "Search Locations"
-msgstr ""
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载"
-#: common/models.py:1804
-msgid "Display stock locations in search preview window"
+#: common/models.py:1809
+msgid "Search Parts"
msgstr ""
#: common/models.py:1810
-msgid "Search Companies"
+msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1811
-msgid "Display companies in search preview window"
+#: common/models.py:1816
+msgid "Seach Supplier Parts"
msgstr ""
#: common/models.py:1817
-msgid "Search Build Orders"
+msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1818
-msgid "Display build orders in search preview window"
+#: common/models.py:1823
+msgid "Search Manufacturer Parts"
msgstr ""
#: common/models.py:1824
-msgid "Search Purchase Orders"
+msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1825
-msgid "Display purchase orders in search preview window"
+#: common/models.py:1830
+msgid "Hide Inactive Parts"
msgstr ""
#: common/models.py:1831
-msgid "Exclude Inactive Purchase Orders"
+msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1832
-msgid "Exclude inactive purchase orders from search preview window"
+#: common/models.py:1837
+msgid "Search Categories"
msgstr ""
#: common/models.py:1838
-msgid "Search Sales Orders"
+msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1839
-msgid "Display sales orders in search preview window"
+#: common/models.py:1844
+msgid "Search Stock"
msgstr ""
#: common/models.py:1845
-msgid "Exclude Inactive Sales Orders"
+msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1846
-msgid "Exclude inactive sales orders from search preview window"
+#: common/models.py:1851
+msgid "Hide Unavailable Stock Items"
msgstr ""
#: common/models.py:1852
-msgid "Search Preview Results"
-msgstr "搜索预览结果"
+msgid "Exclude stock items which are not available from the search preview window"
+msgstr ""
-#: common/models.py:1853
-msgid "Number of results to show in each section of the search preview window"
+#: common/models.py:1858
+msgid "Search Locations"
msgstr ""
#: common/models.py:1859
-msgid "Show Quantity in Forms"
-msgstr "在表格中显示数量"
-
-#: common/models.py:1860
-msgid "Display available part quantity in some forms"
-msgstr "在某些表格中显示可用的商品数量"
-
-#: common/models.py:1866
-msgid "Escape Key Closes Forms"
+msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1867
-msgid "Use the escape key to close modal forms"
+#: common/models.py:1865
+msgid "Search Companies"
+msgstr ""
+
+#: common/models.py:1866
+msgid "Display companies in search preview window"
+msgstr ""
+
+#: common/models.py:1872
+msgid "Search Build Orders"
msgstr ""
#: common/models.py:1873
-msgid "Fixed Navbar"
+msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1874
-msgid "The navbar position is fixed to the top of the screen"
+#: common/models.py:1879
+msgid "Search Purchase Orders"
msgstr ""
#: common/models.py:1880
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:1894
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:1900
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:1901
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:1907
+msgid "Search Preview Results"
+msgstr "搜索预览结果"
+
+#: common/models.py:1908
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:1914
+msgid "Show Quantity in Forms"
+msgstr "在表格中显示数量"
+
+#: common/models.py:1915
+msgid "Display available part quantity in some forms"
+msgstr "在某些表格中显示可用的商品数量"
+
+#: common/models.py:1921
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1922
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1928
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1929
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1935
msgid "Date Format"
msgstr ""
-#: common/models.py:1881
+#: common/models.py:1936
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1895 part/templates/part/detail.html:41
+#: common/models.py:1950 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1896
+#: common/models.py:1951
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1902 part/templates/part/detail.html:61
-#: templates/js/translated/part.js:805
+#: common/models.py:1957 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:1903
-msgid "Display part stocktake information"
+#: common/models.py:1958
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:1909
+#: common/models.py:1964
msgid "Table String Length"
msgstr ""
-#: common/models.py:1910
+#: common/models.py:1965
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:2020
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1981 company/serializers.py:397 order/models.py:975
-#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1399
-#: templates/js/translated/pricing.js:595
+#: common/models.py:2027 company/serializers.py:407 order/models.py:977
+#: templates/js/translated/company.js:1204 templates/js/translated/part.js:1484
+#: templates/js/translated/pricing.js:600
msgid "Price"
msgstr "价格"
-#: common/models.py:1982
+#: common/models.py:2028
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2142 common/models.py:2320
+#: common/models.py:2188 common/models.py:2366
msgid "Endpoint"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2189
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2152
+#: common/models.py:2198
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2157 part/admin.py:36 part/models.py:985
+#: common/models.py:2203 part/admin.py:50 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:470
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:474
msgid "Active"
msgstr ""
-#: common/models.py:2158
+#: common/models.py:2204
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2172
+#: common/models.py:2218
msgid "Token"
msgstr "令牌"
-#: common/models.py:2173
+#: common/models.py:2219
msgid "Token for access"
msgstr ""
-#: common/models.py:2180
+#: common/models.py:2226
msgid "Secret"
msgstr ""
-#: common/models.py:2181
+#: common/models.py:2227
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2287
+#: common/models.py:2333
msgid "Message ID"
msgstr ""
-#: common/models.py:2288
+#: common/models.py:2334
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2296
+#: common/models.py:2342
msgid "Host"
msgstr ""
-#: common/models.py:2297
+#: common/models.py:2343
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2304
+#: common/models.py:2350
msgid "Header"
msgstr ""
-#: common/models.py:2305
+#: common/models.py:2351
msgid "Header of this message"
msgstr ""
-#: common/models.py:2311
+#: common/models.py:2357
msgid "Body"
msgstr ""
-#: common/models.py:2312
+#: common/models.py:2358
msgid "Body of this message"
msgstr ""
-#: common/models.py:2321
+#: common/models.py:2367
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2326
+#: common/models.py:2372
msgid "Worked on"
msgstr ""
-#: common/models.py:2327
+#: common/models.py:2373
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2481
+#: common/models.py:2527
msgid "Id"
msgstr ""
-#: common/models.py:2487 templates/js/translated/news.js:35
+#: common/models.py:2533 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2497 templates/js/translated/news.js:51
+#: common/models.py:2543 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2502 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2548 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2507 templates/js/translated/news.js:43
+#: common/models.py:2553 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2558
msgid "Read"
msgstr ""
-#: common/models.py:2513
+#: common/models.py:2559
msgid "Was this news item read?"
msgstr ""
@@ -3015,7 +3065,7 @@ 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:102
-#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "上传文件"
@@ -3023,7 +3073,7 @@ msgstr "上传文件"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "匹配字段"
@@ -3061,7 +3111,7 @@ msgstr "公司简介"
#: company/models.py:110 company/templates/company/company_base.html:101
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:449
+#: templates/js/translated/company.js:488
msgid "Website"
msgstr "网站"
@@ -3106,7 +3156,7 @@ msgstr ""
msgid "Link to external company information"
msgstr "链接到外部公司信息"
-#: company/models.py:140 part/models.py:879
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "图片"
@@ -3138,229 +3188,219 @@ msgstr "是制造商"
msgid "Does this company manufacture parts?"
msgstr "该公司制造商品吗?"
-#: company/models.py:153 company/serializers.py:403
-#: company/templates/company/company_base.html:107 part/models.py:2774
-#: part/serializers.py:159 part/serializers.py:187 stock/serializers.py:182
-#: templates/InvenTree/settings/settings.html:191
-msgid "Currency"
-msgstr "货币"
-
#: company/models.py:156
msgid "Default currency used for this company"
msgstr "该公司使用的默认货币"
-#: company/models.py:253 company/models.py:488 stock/models.py:656
-#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:588
-msgid "Base Part"
-msgstr ""
-
-#: company/models.py:257 company/models.py:492
-msgid "Select part"
-msgstr "选择商品"
-
-#: company/models.py:268 company/templates/company/company_base.html:77
-#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:152 part/serializers.py:370
-#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:433
-#: templates/js/translated/company.js:534
-#: templates/js/translated/company.js:669
-#: templates/js/translated/company.js:957
-#: templates/js/translated/table_filters.js:447
-msgid "Manufacturer"
-msgstr "制造商"
-
-#: company/models.py:269
-msgid "Select manufacturer"
-msgstr "选择制造商"
-
-#: company/models.py:275 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:160 part/serializers.py:376
-#: templates/js/translated/company.js:305
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:685
-#: templates/js/translated/company.js:976 templates/js/translated/order.js:2320
-#: templates/js/translated/part.js:1321
-msgid "MPN"
-msgstr ""
-
-#: company/models.py:276
-msgid "Manufacturer Part Number"
-msgstr "制造商商品编号"
-
-#: company/models.py:282
-msgid "URL for external manufacturer part link"
-msgstr ""
-
-#: company/models.py:288
-msgid "Manufacturer part description"
-msgstr "制造商商品描述"
-
-#: company/models.py:333 company/models.py:357 company/models.py:511
-#: company/templates/company/manufacturer_part.html:7
-#: company/templates/company/manufacturer_part.html:24
-#: stock/templates/stock/item_base.html:220
-msgid "Manufacturer Part"
-msgstr "制造商商品"
-
-#: company/models.py:364
-msgid "Parameter name"
-msgstr "参数名称"
-
-#: company/models.py:370
-#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2177 templates/js/translated/company.js:582
-#: templates/js/translated/company.js:800 templates/js/translated/part.js:1143
-#: templates/js/translated/stock.js:1405
-msgid "Value"
-msgstr "数值"
-
-#: company/models.py:371
-msgid "Parameter value"
-msgstr "参数值"
-
-#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3194 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:396
-#: templates/js/translated/company.js:806 templates/js/translated/part.js:1149
-msgid "Units"
-msgstr "单位"
-
-#: company/models.py:378
-msgid "Parameter units"
-msgstr "参数单位"
-
-#: company/models.py:456
-msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
-
-#: company/models.py:498 company/templates/company/company_base.html:82
-#: company/templates/company/supplier_part.html:136 order/models.py:264
-#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:359 stock/templates/stock/item_base.html:227
-#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:437
-#: templates/js/translated/company.js:930 templates/js/translated/order.js:2051
-#: templates/js/translated/part.js:1289 templates/js/translated/pricing.js:472
-#: templates/js/translated/table_filters.js:451
-msgid "Supplier"
-msgstr "供应商"
-
-#: company/models.py:499
-msgid "Select supplier"
-msgstr "选择供应商"
-
-#: company/models.py:504 company/templates/company/supplier_part.html:146
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:365
-#: templates/js/translated/company.js:303 templates/js/translated/order.js:2307
-#: templates/js/translated/part.js:1307 templates/js/translated/pricing.js:484
-msgid "SKU"
-msgstr ""
-
-#: company/models.py:505 part/serializers.py:365
-msgid "Supplier stock keeping unit"
-msgstr ""
-
-#: company/models.py:512
-msgid "Select manufacturer part"
-msgstr "选择制造商商品"
-
-#: company/models.py:518
-msgid "URL for external supplier part link"
-msgstr "外部供货商商品链接URL"
-
-#: company/models.py:524
-msgid "Supplier part description"
-msgstr "供应商商品描述"
-
-#: company/models.py:529 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3447 part/templates/part/upload_bom.html:59
-#: report/templates/report/inventree_bill_of_materials_report.html:140
-#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
-msgid "Note"
-msgstr "备注"
-
-#: company/models.py:533 part/models.py:1867
-msgid "base cost"
-msgstr ""
-
-#: company/models.py:533 part/models.py:1867
-msgid "Minimum charge (e.g. stocking fee)"
-msgstr "最低收费(例如库存费)"
-
-#: company/models.py:535 company/templates/company/supplier_part.html:167
-#: stock/admin.py:101 stock/models.py:682
-#: stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
-msgid "Packaging"
-msgstr "打包"
-
-#: company/models.py:535
-msgid "Part packaging"
-msgstr "商品打包"
-
-#: company/models.py:538 company/serializers.py:242
-#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:997 templates/js/translated/order.js:852
-#: templates/js/translated/order.js:1287 templates/js/translated/order.js:1542
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2368
-#: templates/js/translated/part.js:1339 templates/js/translated/part.js:1391
-msgid "Pack Quantity"
-msgstr ""
-
-#: company/models.py:539
-msgid "Unit quantity supplied in a single pack"
-msgstr ""
-
-#: company/models.py:545 part/models.py:1869
-msgid "multiple"
-msgstr ""
-
-#: company/models.py:545
-msgid "Order multiple"
-msgstr ""
-
-#: company/models.py:553 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:1125 templates/js/translated/build.js:1884
-#: templates/js/translated/build.js:2777 templates/js/translated/part.js:604
-#: templates/js/translated/part.js:607
-#: templates/js/translated/table_filters.js:206
-msgid "Available"
-msgstr "空闲"
-
-#: company/models.py:554
-msgid "Quantity available from supplier"
-msgstr ""
-
-#: company/models.py:558
-msgid "Availability Updated"
-msgstr ""
-
-#: company/models.py:559
-msgid "Date of last update of availability data"
-msgstr ""
-
-#: company/serializers.py:72
-msgid "Default currency used for this supplier"
-msgstr "该公司使用的默认货币"
-
-#: company/serializers.py:73
-msgid "Currency Code"
-msgstr "货币代码"
-
-#: company/templates/company/company_base.html:8
+#: company/models.py:222 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:461
msgid "Company"
msgstr "公司"
+#: company/models.py:272 company/models.py:507 stock/models.py:668
+#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:591
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:276 company/models.py:511
+msgid "Select part"
+msgstr "选择商品"
+
+#: company/models.py:287 company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:152 part/serializers.py:353
+#: stock/templates/stock/item_base.html:213
+#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:573
+#: templates/js/translated/company.js:708
+#: templates/js/translated/company.js:996
+#: templates/js/translated/table_filters.js:451
+msgid "Manufacturer"
+msgstr "制造商"
+
+#: company/models.py:288
+msgid "Select manufacturer"
+msgstr "选择制造商"
+
+#: company/models.py:294 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:160 part/serializers.py:359
+#: templates/js/translated/company.js:307
+#: templates/js/translated/company.js:572
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:1015
+#: templates/js/translated/order.js:2378 templates/js/translated/part.js:1406
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:295
+msgid "Manufacturer Part Number"
+msgstr "制造商商品编号"
+
+#: company/models.py:301
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:307
+msgid "Manufacturer part description"
+msgstr "制造商商品描述"
+
+#: company/models.py:352 company/models.py:376 company/models.py:530
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:223
+msgid "Manufacturer Part"
+msgstr "制造商商品"
+
+#: company/models.py:383
+msgid "Parameter name"
+msgstr "参数名称"
+
+#: company/models.py:389
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:2189 templates/js/translated/company.js:621
+#: templates/js/translated/company.js:839 templates/js/translated/part.js:1228
+#: templates/js/translated/stock.js:1442
+msgid "Value"
+msgstr "数值"
+
+#: company/models.py:390
+msgid "Parameter value"
+msgstr "参数值"
+
+#: company/models.py:396 part/admin.py:40 part/models.py:921
+#: part/models.py:3245 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:255
+#: templates/js/translated/company.js:845 templates/js/translated/part.js:1234
+msgid "Units"
+msgstr "单位"
+
+#: company/models.py:397
+msgid "Parameter units"
+msgstr "参数单位"
+
+#: company/models.py:475
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:517 company/templates/company/company_base.html:82
+#: company/templates/company/supplier_part.html:136 order/models.py:263
+#: order/templates/order/order_base.html:121 part/bom.py:285 part/bom.py:313
+#: part/serializers.py:342 stock/templates/stock/item_base.html:230
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:306
+#: templates/js/translated/company.js:476
+#: templates/js/translated/company.js:969 templates/js/translated/order.js:2109
+#: templates/js/translated/part.js:1374 templates/js/translated/pricing.js:477
+#: templates/js/translated/table_filters.js:455
+msgid "Supplier"
+msgstr "供应商"
+
+#: company/models.py:518
+msgid "Select supplier"
+msgstr "选择供应商"
+
+#: company/models.py:523 company/templates/company/supplier_part.html:146
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:348
+#: templates/js/translated/company.js:305 templates/js/translated/order.js:2365
+#: templates/js/translated/part.js:1392 templates/js/translated/pricing.js:489
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:524 part/serializers.py:348
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:531
+msgid "Select manufacturer part"
+msgstr "选择制造商商品"
+
+#: company/models.py:537
+msgid "URL for external supplier part link"
+msgstr "外部供货商商品链接URL"
+
+#: company/models.py:543
+msgid "Supplier part description"
+msgstr "供应商商品描述"
+
+#: company/models.py:548 company/templates/company/supplier_part.html:181
+#: part/admin.py:278 part/models.py:3509 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:391
+msgid "Note"
+msgstr "备注"
+
+#: company/models.py:552 part/models.py:1836
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:552 part/models.py:1836
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr "最低收费(例如库存费)"
+
+#: company/models.py:554 company/templates/company/supplier_part.html:167
+#: stock/admin.py:118 stock/models.py:694
+#: stock/templates/stock/item_base.html:246
+#: templates/js/translated/company.js:1031
+#: templates/js/translated/stock.js:2052
+msgid "Packaging"
+msgstr "打包"
+
+#: company/models.py:554
+msgid "Part packaging"
+msgstr "商品打包"
+
+#: company/models.py:557 company/serializers.py:302
+#: company/templates/company/supplier_part.html:174
+#: templates/js/translated/company.js:1036 templates/js/translated/order.js:901
+#: templates/js/translated/order.js:1345 templates/js/translated/order.js:1600
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2426
+#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1476
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:558
+msgid "Unit quantity supplied in a single pack"
+msgstr ""
+
+#: company/models.py:564 part/models.py:1838
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:564
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:572 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:1128 templates/js/translated/build.js:1886
+#: templates/js/translated/build.js:2779 templates/js/translated/part.js:610
+#: templates/js/translated/part.js:613
+#: templates/js/translated/table_filters.js:210
+msgid "Available"
+msgstr "空闲"
+
+#: company/models.py:573
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:577
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:578
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:96
+msgid "Default currency used for this supplier"
+msgstr "该公司使用的默认货币"
+
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:710
+#: templates/js/translated/order.js:742
msgid "Create Purchase Order"
msgstr "创建采购订单"
@@ -3373,7 +3413,7 @@ msgid "Edit company information"
msgstr "编辑公司信息"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:365
+#: templates/js/translated/company.js:404
msgid "Edit Company"
msgstr "编辑公司信息"
@@ -3401,14 +3441,14 @@ msgstr "从 URL 下载图片"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:87 order/models.py:665
-#: order/templates/order/sales_order_base.html:116 stock/models.py:701
-#: stock/models.py:702 stock/serializers.py:813
-#: stock/templates/stock/item_base.html:399
+#: company/templates/company/company_base.html:87 order/models.py:669
+#: order/templates/order/sales_order_base.html:116 stock/models.py:713
+#: stock/models.py:714 stock/serializers.py:794
+#: stock/templates/stock/item_base.html:402
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:429 templates/js/translated/order.js:2857
-#: templates/js/translated/stock.js:2610
-#: templates/js/translated/table_filters.js:455
+#: templates/js/translated/company.js:468 templates/js/translated/order.js:2909
+#: templates/js/translated/stock.js:2661
+#: templates/js/translated/table_filters.js:459
msgid "Customer"
msgstr "客户"
@@ -3421,7 +3461,7 @@ msgid "Phone"
msgstr "电话"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:531
msgid "Remove Image"
msgstr ""
@@ -3430,19 +3470,19 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:535
+#: part/templates/part/part_base.html:534
#: 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:564
+#: part/templates/part/part_base.html:563
msgid "Upload Image"
msgstr "上传图片"
#: company/templates/company/company_base.html:253
-#: part/templates/part/part_base.html:619
+#: part/templates/part/part_base.html:618
msgid "Download Image"
msgstr "下载图片"
@@ -3458,13 +3498,13 @@ msgstr "创建新的供应商商品"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:380
+#: part/templates/part/detail.html:381
msgid "New Supplier Part"
msgstr "新建供应商商品"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:84
-#: part/templates/part/category.html:177
+#: part/templates/part/category.html:183
msgid "Order parts"
msgstr "订购商品"
@@ -3487,7 +3527,7 @@ msgstr "制造商商品"
msgid "Create new manufacturer part"
msgstr "新建制造商商品"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:410
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:411
msgid "New Manufacturer Part"
msgstr "新建制造商商品"
@@ -3501,11 +3541,11 @@ msgstr "供货商库存"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:35
+#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
-#: templates/InvenTree/settings/sidebar.html:51
+#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:293 templates/navbar.html:50
-#: users/models.py:42
+#: users/models.py:43
msgid "Purchase Orders"
msgstr "采购订单"
@@ -3524,11 +3564,11 @@ msgstr "新建采购订单"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:130 part/templates/part/part_sidebar.html:39
+#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
-#: templates/InvenTree/settings/sidebar.html:53
+#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:317 templates/navbar.html:61
-#: users/models.py:43
+#: users/models.py:44
msgid "Sales Orders"
msgstr "销售订单"
@@ -3543,7 +3583,7 @@ msgid "New Sales Order"
msgstr "新建销售订单"
#: company/templates/company/detail.html:168
-#: templates/js/translated/build.js:1733
+#: templates/js/translated/build.js:1735
msgid "Assigned Stock"
msgstr ""
@@ -3558,17 +3598,17 @@ msgstr "制造商"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:221
-#: part/templates/part/detail.html:110 part/templates/part/part_base.html:85
+#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85
msgid "Order part"
msgstr "订购商品"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:756
msgid "Edit manufacturer part"
msgstr "编辑制造商商品"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:718
+#: templates/js/translated/company.js:757
msgid "Delete manufacturer part"
msgstr "删除生产商商品"
@@ -3583,34 +3623,34 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/admin.py:46 part/templates/part/part_sidebar.html:33
+#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "供应商"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:391
+#: part/templates/part/detail.html:392
msgid "Delete supplier parts"
msgstr "删除供应商商品"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:392 part/templates/part/detail.html:422
+#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
#: templates/js/translated/forms.js:505 templates/js/translated/helpers.js:36
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:187
-#: users/models.py:225
+#: templates/js/translated/part.js:307 templates/js/translated/stock.js:188
+#: users/models.py:231
msgid "Delete"
msgstr "删除"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:207 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "参数"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:212
+#: part/templates/part/detail.html:213
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:63
msgid "New Parameter"
@@ -3621,7 +3661,7 @@ msgid "Delete parameters"
msgstr "删除参数"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:873
+#: part/templates/part/detail.html:872
msgid "Add Parameter"
msgstr "添加参数"
@@ -3642,30 +3682,30 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:665
-#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:946 templates/js/translated/order.js:1207
-#: templates/js/translated/stock.js:1977
+#: company/templates/company/supplier_part.html:24 stock/models.py:677
+#: stock/templates/stock/item_base.html:239
+#: templates/js/translated/company.js:985 templates/js/translated/order.js:1265
+#: templates/js/translated/stock.js:2010
msgid "Supplier Part"
msgstr "供应商商品"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
#: stock/templates/stock/item_base.html:41
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:54
msgid "Barcode actions"
msgstr ""
#: company/templates/company/supplier_part.html:40
#: part/templates/part/part_base.html:46
#: stock/templates/stock/item_base.html:45
-#: stock/templates/stock/location.html:50 templates/qr_button.html:1
+#: stock/templates/stock/location.html:56 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: company/templates/company/supplier_part.html:42
#: stock/templates/stock/item_base.html:48
-#: stock/templates/stock/location.html:52
+#: stock/templates/stock/location.html:58
#: templates/js/translated/barcode.js:454
#: templates/js/translated/barcode.js:459
msgid "Unlink Barcode"
@@ -3674,7 +3714,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:44
#: part/templates/part/part_base.html:51
#: stock/templates/stock/item_base.html:50
-#: stock/templates/stock/location.html:54
+#: stock/templates/stock/location.html:60
msgid "Link Barcode"
msgstr ""
@@ -3685,7 +3725,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
-#: part/templates/part/detail.html:111
+#: part/templates/part/detail.html:112
msgid "Order Part"
msgstr "订购商品"
@@ -3696,13 +3736,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:248
+#: templates/js/translated/company.js:250
msgid "Edit Supplier Part"
msgstr "编辑供应商商品"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:223
+#: templates/js/translated/company.js:225
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3717,7 +3757,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
#: stock/templates/stock/item_base.html:161
-#: stock/templates/stock/location.html:150
+#: stock/templates/stock/location.html:156
msgid "Barcode Identifier"
msgstr ""
@@ -3726,23 +3766,21 @@ msgid "No supplier information available"
msgstr ""
#: company/templates/company/supplier_part.html:200
-#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "供货商商品库存"
#: company/templates/company/supplier_part.html:203
-#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:203
msgid "Create new stock item"
msgstr ""
#: company/templates/company/supplier_part.html:204
-#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:466
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:204
+#: templates/js/translated/stock.js:473
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
-#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "供应商商品订单"
@@ -3751,58 +3789,40 @@ msgid "Pricing Information"
msgstr "价格信息"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:317
-#: templates/js/translated/pricing.js:654
+#: templates/js/translated/company.js:355
+#: templates/js/translated/pricing.js:663
msgid "Add Price Break"
msgstr ""
+#: company/templates/company/supplier_part.html:274
+msgid "Supplier Part QR Code"
+msgstr ""
+
#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:375
+#: company/templates/company/supplier_part.html:360
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/part_sidebar.html:14
-#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:153
-#: templates/InvenTree/settings/sidebar.html:47
-#: templates/js/translated/part.js:1031 templates/js/translated/part.js:1632
-#: templates/js/translated/part.js:1788 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1802 templates/navbar.html:31
-msgid "Stock"
-msgstr "库存"
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: part/templates/part/category.html:204
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
+#: stock/templates/stock/location.html:174
+#: stock/templates/stock/location.html:188
+#: stock/templates/stock/location.html:200
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:915
+#: templates/js/translated/search.js:225 templates/js/translated/stock.js:2520
+#: users/models.py:41
+msgid "Stock Items"
+msgstr "库存项"
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "订单"
-
-#: company/templates/company/supplier_part_navbar.html:26
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
msgstr "供应商商品价格"
-#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:30
-#: templates/InvenTree/settings/sidebar.html:37
-msgid "Pricing"
-msgstr "定价"
-
-#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
-#: stock/templates/stock/location.html:168
-#: stock/templates/stock/location.html:182
-#: stock/templates/stock/location.html:194
-#: stock/templates/stock/location_sidebar.html:7
-#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2487 users/models.py:40
-msgid "Stock Items"
-msgstr "库存项"
-
#: company/views.py:33
msgid "New Supplier"
msgstr "新增供应商"
@@ -3828,10 +3848,6 @@ msgstr "公司"
msgid "New Company"
msgstr "新建公司信息"
-#: company/views.py:120 stock/views.py:125
-msgid "Stock Item QR Code"
-msgstr ""
-
#: label/models.py:102
msgid "Label name"
msgstr "标签名称"
@@ -3848,7 +3864,7 @@ msgstr "标签"
msgid "Label template file"
msgstr "标签模板文件"
-#: label/models.py:123 report/models.py:254
+#: label/models.py:123 report/models.py:258
msgid "Enabled"
msgstr "已启用"
@@ -3872,7 +3888,7 @@ msgstr "高度 [mm]"
msgid "Label height, specified in mm"
msgstr "标注高度,以毫米为单位。"
-#: label/models.py:143 report/models.py:247
+#: label/models.py:143 report/models.py:251
msgid "Filename Pattern"
msgstr "文件名样式"
@@ -3885,7 +3901,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "查询筛选器 (逗号分隔的键值对列表)"
#: label/models.py:234 label/models.py:275 label/models.py:303
-#: report/models.py:280 report/models.py:411 report/models.py:449
+#: report/models.py:279 report/models.py:410 report/models.py:448
msgid "Filters"
msgstr "筛选器"
@@ -3897,447 +3913,443 @@ msgstr "查询筛选器 (逗号分隔的键值对列表"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "商品查询筛选器 (逗号分隔的键值对列表)"
-#: order/api.py:161
+#: order/api.py:163
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1257 order/models.py:1021 order/models.py:1100
+#: order/api.py:1259 order/models.py:1023 order/models.py:1102
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:640 templates/js/translated/order.js:1208
-#: templates/js/translated/order.js:2035 templates/js/translated/part.js:1266
-#: templates/js/translated/pricing.js:756 templates/js/translated/stock.js:1957
-#: templates/js/translated/stock.js:2591
+#: templates/js/translated/order.js:672 templates/js/translated/order.js:1266
+#: templates/js/translated/order.js:2093 templates/js/translated/part.js:1351
+#: templates/js/translated/pricing.js:769 templates/js/translated/stock.js:1990
+#: templates/js/translated/stock.js:2642
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1261
+#: order/api.py:1263
msgid "Unknown"
msgstr ""
-#: order/models.py:83
+#: order/models.py:82
msgid "Order description"
msgstr ""
-#: order/models.py:85 order/models.py:1283
+#: order/models.py:84 order/models.py:1285
msgid "Link to external page"
msgstr ""
-#: order/models.py:93
+#: order/models.py:92
msgid "Created By"
msgstr ""
-#: order/models.py:100
+#: order/models.py:99
msgid "User or group responsible for this order"
msgstr "负责此订单的用户或群组"
-#: order/models.py:105
+#: order/models.py:104
msgid "Order notes"
msgstr ""
-#: order/models.py:242 order/models.py:652
+#: order/models.py:241 order/models.py:656
msgid "Order reference"
msgstr ""
-#: order/models.py:250 order/models.py:670
+#: order/models.py:249 order/models.py:674
msgid "Purchase order status"
msgstr ""
-#: order/models.py:265
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "订购该商品的公司"
-#: order/models.py:268 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:2060
+#: order/models.py:267 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2118
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:268
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:275
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:280
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:281
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:286
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:287
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:293
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:332
+#: order/models.py:331
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:491
+#: order/models.py:490
msgid "Quantity must be a positive number"
msgstr "数量必须大于0"
-#: order/models.py:666
+#: order/models.py:670
msgid "Company to which the items are being sold"
msgstr "向其出售该商品的公司"
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer Reference "
msgstr ""
-#: order/models.py:677
+#: order/models.py:681
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:682
+#: order/models.py:686
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:685 order/models.py:1241
-#: templates/js/translated/order.js:2904 templates/js/translated/order.js:3066
+#: order/models.py:689 order/models.py:1243
+#: templates/js/translated/order.js:2956 templates/js/translated/order.js:3118
msgid "Shipment Date"
msgstr ""
-#: order/models.py:692
+#: order/models.py:696
msgid "shipped by"
msgstr ""
-#: order/models.py:747
+#: order/models.py:751
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:751
+#: order/models.py:755
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:754 templates/js/translated/order.js:420
+#: order/models.py:758 templates/js/translated/order.js:424
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:757
+#: order/models.py:761
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:935
+#: order/models.py:938
msgid "Item quantity"
msgstr ""
-#: order/models.py:941
+#: order/models.py:944
msgid "Line item reference"
msgstr ""
-#: order/models.py:943
+#: order/models.py:946
msgid "Line item notes"
msgstr ""
-#: order/models.py:948
+#: order/models.py:951
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:966
+#: order/models.py:968
msgid "Context"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:976
+#: order/models.py:978
msgid "Unit price"
msgstr ""
-#: order/models.py:1006
+#: order/models.py:1008
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1014
+#: order/models.py:1016
msgid "deleted"
msgstr ""
-#: order/models.py:1020 order/models.py:1100 order/models.py:1141
-#: order/models.py:1235 order/models.py:1367
-#: templates/js/translated/order.js:3522
+#: order/models.py:1022 order/models.py:1102 order/models.py:1143
+#: order/models.py:1237 order/models.py:1369
+#: templates/js/translated/order.js:3574
msgid "Order"
msgstr ""
-#: order/models.py:1039
+#: order/models.py:1041
msgid "Supplier part"
msgstr "供应商商品"
-#: order/models.py:1046 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1713 templates/js/translated/order.js:2436
-#: templates/js/translated/part.js:1383 templates/js/translated/part.js:1415
-#: templates/js/translated/table_filters.js:366
+#: order/models.py:1048 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1771 templates/js/translated/order.js:2494
+#: templates/js/translated/part.js:1468 templates/js/translated/part.js:1500
+#: templates/js/translated/table_filters.js:370
msgid "Received"
msgstr ""
-#: order/models.py:1047
+#: order/models.py:1049
msgid "Number of items received"
msgstr ""
-#: order/models.py:1054 stock/models.py:798 stock/serializers.py:173
+#: order/models.py:1056 stock/models.py:810 stock/serializers.py:227
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2008
+#: templates/js/translated/stock.js:2041
msgid "Purchase Price"
msgstr "采购价格"
-#: order/models.py:1055
+#: order/models.py:1057
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1063
+#: order/models.py:1065
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1129
+#: order/models.py:1131
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1134
+#: order/models.py:1136
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1160 part/templates/part/part_pricing.html:107
-#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:906
+#: order/models.py:1162 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:919
msgid "Sale Price"
msgstr "销售价格"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1166
+#: order/models.py:1168
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1242
+#: order/models.py:1244
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1249
+#: order/models.py:1251
msgid "Checked By"
msgstr ""
-#: order/models.py:1250
+#: order/models.py:1252
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
-#: order/serializers.py:1349 templates/js/translated/model_renderers.js:327
+#: order/models.py:1259 order/models.py:1444 order/serializers.py:1197
+#: order/serializers.py:1325 templates/js/translated/model_renderers.js:327
msgid "Shipment"
msgstr ""
-#: order/models.py:1258
+#: order/models.py:1260
msgid "Shipment number"
msgstr ""
-#: order/models.py:1262
+#: order/models.py:1264
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1268
+#: order/models.py:1270
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1269
+#: order/models.py:1271
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1276
+#: order/models.py:1278
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1277
+#: order/models.py:1279
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1295
+#: order/models.py:1297
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1298
+#: order/models.py:1300
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1401 order/models.py:1403
+#: order/models.py:1403 order/models.py:1405
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1407
+#: order/models.py:1409
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1409
+#: order/models.py:1411
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1414
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1422 order/serializers.py:1083
+#: order/models.py:1424 order/serializers.py:1059
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1425
+#: order/models.py:1427
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1426
+#: order/models.py:1428
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1436
msgid "Line"
msgstr ""
-#: order/models.py:1443
+#: order/models.py:1445
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1456 templates/js/translated/notification.js:55
+#: order/models.py:1458
msgid "Item"
msgstr ""
-#: order/models.py:1457
+#: order/models.py:1459
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1460
+#: order/models.py:1462
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:63
-msgid "Price currency"
-msgstr ""
-
-#: order/serializers.py:193
+#: order/serializers.py:190
msgid "Order cannot be cancelled"
msgstr "无法取消订单"
-#: order/serializers.py:203 order/serializers.py:1101
+#: order/serializers.py:205 order/serializers.py:1077
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:214 order/serializers.py:1112
+#: order/serializers.py:216 order/serializers.py:1088
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:305
+#: order/serializers.py:328
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:327
+#: order/serializers.py:346
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:346
+#: order/serializers.py:364
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:351
+#: order/serializers.py:369
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:357
+#: order/serializers.py:375
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:358
+#: order/serializers.py:376
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:421 order/serializers.py:1189
+#: order/serializers.py:414 order/serializers.py:1165
msgid "Line Item"
msgstr ""
-#: order/serializers.py:427
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:437 order/serializers.py:548
+#: order/serializers.py:430 order/serializers.py:549
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:456 templates/js/translated/order.js:1569
+#: order/serializers.py:449 templates/js/translated/order.js:1627
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:464 templates/js/translated/order.js:1580
+#: order/serializers.py:457 templates/js/translated/order.js:1638
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:478
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:492
+#: order/serializers.py:485
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:518
+#: order/serializers.py:511
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:564
+#: order/serializers.py:565
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:581
+#: order/serializers.py:582
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:592
+#: order/serializers.py:593
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:900
+#: order/serializers.py:902
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:981
+#: order/serializers.py:957
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1044 order/serializers.py:1198
+#: order/serializers.py:1020 order/serializers.py:1174
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1066
+#: order/serializers.py:1042
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1211
+#: order/serializers.py:1187
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1233 order/serializers.py:1357
+#: order/serializers.py:1209 order/serializers.py:1333
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1236 order/serializers.py:1360
+#: order/serializers.py:1212 order/serializers.py:1336
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1290
+#: order/serializers.py:1266
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1300
+#: order/serializers.py:1276
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4505,10 +4517,10 @@ 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:486
-#: templates/js/translated/build.js:642 templates/js/translated/build.js:2089
-#: templates/js/translated/order.js:1152 templates/js/translated/order.js:1658
-#: templates/js/translated/order.js:3141 templates/js/translated/stock.js:656
-#: templates/js/translated/stock.js:824
+#: templates/js/translated/build.js:644 templates/js/translated/build.js:2091
+#: templates/js/translated/order.js:1210 templates/js/translated/order.js:1716
+#: templates/js/translated/order.js:3193 templates/js/translated/stock.js:663
+#: templates/js/translated/stock.js:833
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "移除行"
@@ -4566,7 +4578,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:28
#: order/templates/order/sales_order_detail.html:24
-#: templates/js/translated/order.js:577 templates/js/translated/order.js:750
+#: templates/js/translated/order.js:609 templates/js/translated/order.js:782
msgid "Add Line Item"
msgstr ""
@@ -4612,12 +4624,12 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:60
-#: templates/js/translated/order.js:233
+#: templates/js/translated/order.js:237
msgid "Complete Shipments"
msgstr ""
#: order/templates/order/sales_order_base.html:67
-#: templates/js/translated/order.js:398
+#: templates/js/translated/order.js:402
msgid "Complete Sales Order"
msgstr ""
@@ -4626,7 +4638,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2870
+#: templates/js/translated/order.js:2922
msgid "Customer Reference"
msgstr ""
@@ -4636,10 +4648,6 @@ msgstr ""
msgid "Completed Shipments"
msgstr ""
-#: order/templates/order/sales_order_base.html:230
-msgid "Edit Sales Order"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -4650,8 +4658,8 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1231
-#: templates/js/translated/build.js:1990
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1234
+#: templates/js/translated/build.js:1992
msgid "Actions"
msgstr ""
@@ -4681,174 +4689,175 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3328 stock/admin.py:84
-#: templates/js/translated/model_renderers.js:214
+#: part/admin.py:33 part/admin.py:272 part/models.py:3379 part/tasks.py:283
+#: stock/admin.py:101 templates/js/translated/model_renderers.js:214
msgid "Part ID"
msgstr "商品ID"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3332 stock/admin.py:85
+#: part/admin.py:34 part/admin.py:274 part/models.py:3383 part/tasks.py:284
+#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:21
+#: part/admin.py:35 part/tasks.py:285
msgid "Part Description"
msgstr ""
-#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:1017 templates/js/translated/part.js:1745
-#: templates/js/translated/stock.js:1768
+#: part/admin.py:36 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:1102 templates/js/translated/part.js:1830
+#: templates/js/translated/stock.js:1801
msgid "IPN"
msgstr ""
-#: part/admin.py:23 part/models.py:861 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:1022
+#: part/admin.py:37 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:1107
msgid "Revision"
msgstr ""
-#: part/admin.py:24 part/admin.py:178 part/models.py:839
-#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+#: part/admin.py:38 part/admin.py:198 part/models.py:808
+#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "关键词"
-#: part/admin.py:28 part/admin.py:172
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
#: templates/js/translated/model_renderers.js:351
msgid "Category ID"
msgstr "类别 ID"
-#: part/admin.py:29 part/admin.py:173
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
msgid "Category Name"
msgstr ""
-#: part/admin.py:30 part/admin.py:177
+#: part/admin.py:44 part/admin.py:197
msgid "Default Location ID"
msgstr ""
-#: part/admin.py:31
+#: part/admin.py:45
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:33 part/models.py:945 part/templates/part/part_base.html:206
+#: part/admin.py:47 part/models.py:914 part/templates/part/part_base.html:206
msgid "Minimum Stock"
msgstr "最低库存"
-#: part/admin.py:47 part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1028
-#: templates/js/translated/table_filters.js:221
+#: part/admin.py:61 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1067
+#: templates/js/translated/table_filters.js:225
msgid "In Stock"
msgstr ""
-#: part/admin.py:48 part/bom.py:178 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1936
-#: templates/js/translated/part.js:594 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1635 templates/js/translated/part.js:1813
+#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1166 templates/js/translated/build.js:1938
+#: templates/js/translated/part.js:600 templates/js/translated/part.js:620
+#: templates/js/translated/part.js:1720 templates/js/translated/part.js:1896
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
-#: part/admin.py:50 templates/js/translated/build.js:1948
-#: templates/js/translated/build.js:2206 templates/js/translated/build.js:2784
-#: templates/js/translated/order.js:3979
+#: part/admin.py:64 templates/js/translated/build.js:1950
+#: templates/js/translated/build.js:2208 templates/js/translated/build.js:2786
+#: templates/js/translated/order.js:4031
msgid "Allocated"
msgstr ""
-#: part/admin.py:51 part/templates/part/part_base.html:244
-#: templates/js/translated/part.js:597 templates/js/translated/part.js:617
-#: templates/js/translated/part.js:1639 templates/js/translated/part.js:1820
+#: part/admin.py:65 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:603 templates/js/translated/part.js:623
+#: templates/js/translated/part.js:1724 templates/js/translated/part.js:1903
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2852
+#: part/admin.py:66 part/models.py:2822 templates/js/translated/part.js:820
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2858
+#: part/admin.py:67 part/models.py:2828 templates/js/translated/part.js:830
msgid "Maximum Cost"
msgstr ""
-#: part/admin.py:175 part/admin.py:249 stock/admin.py:26 stock/admin.py:98
+#: part/admin.py:195 part/admin.py:269 stock/admin.py:42 stock/admin.py:115
msgid "Parent ID"
msgstr ""
-#: part/admin.py:176 part/admin.py:251 stock/admin.py:27
+#: part/admin.py:196 part/admin.py:271 stock/admin.py:43
msgid "Parent Name"
msgstr ""
-#: part/admin.py:179 part/templates/part/category.html:81
-#: part/templates/part/category.html:94
+#: part/admin.py:199 part/templates/part/category.html:87
+#: part/templates/part/category.html:100
msgid "Category Path"
msgstr "类别路径"
-#: part/admin.py:182 part/models.py:383 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
+#: part/admin.py:202 part/models.py:383 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:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:43
-#: templates/js/translated/part.js:2329 templates/js/translated/search.js:146
+#: templates/InvenTree/settings/sidebar.html:45
+#: templates/js/translated/part.js:2412 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "商品"
-#: part/admin.py:244
+#: part/admin.py:264
msgid "BOM Level"
msgstr ""
-#: part/admin.py:246
+#: part/admin.py:266
msgid "BOM Item ID"
msgstr ""
-#: part/admin.py:250
+#: part/admin.py:270
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3336
+#: part/admin.py:273 part/models.py:3387
msgid "Part IPN"
msgstr ""
-#: part/admin.py:259 templates/js/translated/pricing.js:332
-#: templates/js/translated/pricing.js:973
+#: part/admin.py:279 templates/js/translated/pricing.js:337
+#: templates/js/translated/pricing.js:986
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:260 templates/js/translated/pricing.js:327
-#: templates/js/translated/pricing.js:981
+#: part/admin.py:280 templates/js/translated/pricing.js:332
+#: templates/js/translated/pricing.js:994
msgid "Maximum Price"
msgstr ""
-#: part/api.py:536
+#: part/api.py:534
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:556
+#: part/api.py:554
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:574
+#: part/api.py:572
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:660
+#: part/api.py:658
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:818
+#: part/api.py:816
msgid "Valid"
msgstr ""
-#: part/api.py:819
+#: part/api.py:817
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:825
+#: part/api.py:823
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:116 part/models.py:888
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:374
+#: part/bom.py:175 part/models.py:121 part/models.py:857
+#: part/templates/part/category.html:115 part/templates/part/part_base.html:375
msgid "Default Location"
msgstr "默认仓储地点"
@@ -4857,810 +4866,918 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3946
+#: templates/js/translated/order.js:3998
msgid "Available Stock"
msgstr "可用库存"
-#: part/forms.py:41
+#: part/forms.py:48
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:117
-msgid "Default location for parts in this category"
-msgstr "此类别商品的默认仓储地点"
-
-#: part/models.py:122 stock/models.py:113
-#: templates/js/translated/table_filters.js:135
-#: templates/js/translated/table_filters.js:150
-msgid "Structural"
-msgstr ""
-
-#: part/models.py:124
-msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords"
-msgstr ""
-
-#: part/models.py:128
-msgid "Default keywords for parts in this category"
-msgstr "此类别商品的默认关键字"
-
-#: part/models.py:133 stock/models.py:102
-msgid "Icon"
-msgstr ""
-
-#: part/models.py:134 stock/models.py:103
-msgid "Icon (optional)"
-msgstr ""
-
-#: part/models.py:153
-msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
-
-#: part/models.py:159 part/models.py:3277 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3328 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
-#: part/models.py:160 part/templates/part/category.html:129
+#: part/models.py:72 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "商品类别"
-#: part/models.py:469
+#: part/models.py:122
+msgid "Default location for parts in this category"
+msgstr "此类别商品的默认仓储地点"
+
+#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2526
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:154
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:129
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:133
+msgid "Default keywords for parts in this category"
+msgstr "此类别商品的默认关键字"
+
+#: part/models.py:138 stock/models.py:108
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:139 stock/models.py:109
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:158
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:466
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:539 part/models.py:551
+#: part/models.py:508 part/models.py:520
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:641
+#: part/models.py:610
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:772
+#: part/models.py:741
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:777
+#: part/models.py:746
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:791
+#: part/models.py:760
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3333
+#: part/models.py:778 part/models.py:3384
msgid "Part name"
msgstr "商品名称"
-#: part/models.py:816
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:817
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:827
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:834
+#: part/models.py:803
msgid "Part description"
msgstr "商品描述"
-#: part/models.py:840
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:847 part/models.py:3032 part/models.py:3276
-#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:276
+#: part/models.py:816 part/models.py:3090 part/models.py:3327
+#: part/serializers.py:835 part/templates/part/part_base.html:263
+#: templates/InvenTree/settings/settings_staff_js.html:132
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1767 templates/js/translated/part.js:2034
+#: templates/js/translated/part.js:1852 templates/js/translated/part.js:2117
msgid "Category"
msgstr "类别"
-#: part/models.py:848
+#: part/models.py:817
msgid "Part category"
msgstr "商品类别"
-#: part/models.py:854
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "内部商品编号"
-#: part/models.py:860
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "商品版本号"
-#: part/models.py:886
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:931 part/templates/part/part_base.html:383
+#: part/models.py:900 part/templates/part/part_base.html:384
msgid "Default Supplier"
msgstr ""
-#: part/models.py:932
+#: part/models.py:901
msgid "Default supplier part"
msgstr "默认供应商商品"
-#: part/models.py:939
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:940
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:953
+#: part/models.py:922
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:959
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:965
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:976
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:981
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "此商品可以销售给客户吗?"
-#: part/models.py:986
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
-#: part/models.py:993
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:995
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:998
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:973
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1006
+#: part/models.py:975
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1010 part/templates/part/part_base.html:345
-#: stock/templates/stock/item_base.html:445
-#: templates/js/translated/part.js:1884
+#: part/models.py:979 part/templates/part/part_base.html:347
+#: stock/templates/stock/item_base.html:448
+#: templates/js/translated/part.js:1967
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1869
+#: part/models.py:1838
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2775
+#: part/models.py:2745
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2792
+#: part/models.py:2762
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2763
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2798
+#: part/models.py:2768
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2769
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2774
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2775
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2780
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2781
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2786
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2787
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2792
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2793
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2798
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2799
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2804
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2805
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2810
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2811
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2816
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2817
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2823
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2829
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2834
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2835
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2840
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2841
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2846
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2847
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2852
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2853
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2872
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2877
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2878
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2885
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2912 part/templates/part/part_scheduling.html:13
+#: part/models.py:2889 part/models.py:2972
+#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2077 templates/js/translated/part.js:870
-#: templates/js/translated/pricing.js:778
-#: templates/js/translated/pricing.js:899 templates/js/translated/stock.js:2519
+#: templates/InvenTree/settings/settings_staff_js.html:374
+#: templates/js/translated/order.js:2135 templates/js/translated/part.js:940
+#: templates/js/translated/pricing.js:791
+#: templates/js/translated/pricing.js:912 templates/js/translated/stock.js:2570
msgid "Date"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2890
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2898
msgid "Additional notes"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2906
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:2911
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:2912
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:2918
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:363
+msgid "Report"
+msgstr ""
+
+#: part/models.py:2980
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:2985 templates/InvenTree/settings/settings_staff_js.html:370
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:2986
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:2994
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3130
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3096
+#: part/models.py:3147
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3116 templates/js/translated/part.js:2380
+#: part/models.py:3167 templates/js/translated/part.js:2485
msgid "Test Name"
msgstr ""
-#: part/models.py:3117
+#: part/models.py:3168
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3122
+#: part/models.py:3173
msgid "Test Description"
msgstr ""
-#: part/models.py:3123
+#: part/models.py:3174
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2389
-#: templates/js/translated/table_filters.js:330
+#: part/models.py:3179 templates/js/translated/part.js:2494
+#: templates/js/translated/table_filters.js:334
msgid "Required"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3180
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3134 templates/js/translated/part.js:2397
+#: part/models.py:3185 templates/js/translated/part.js:2502
msgid "Requires Value"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3186
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2404
+#: part/models.py:3191 templates/js/translated/part.js:2509
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3192
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3233
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3241
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3245
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3199
+#: part/models.py:3250
msgid "Parameter description"
msgstr ""
-#: part/models.py:3232
+#: part/models.py:3283
msgid "Parent Part"
msgstr ""
-#: part/models.py:3234 part/models.py:3282 part/models.py:3283
-#: templates/InvenTree/settings/settings.html:271
+#: part/models.py:3285 part/models.py:3333 part/models.py:3334
+#: templates/InvenTree/settings/settings_staff_js.html:127
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Data"
msgstr ""
-#: part/models.py:3236
+#: part/models.py:3287
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3287 templates/InvenTree/settings/settings.html:280
+#: part/models.py:3338 templates/InvenTree/settings/settings_staff_js.html:136
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:3288
+#: part/models.py:3339
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3376
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3329
+#: part/models.py:3380
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3388
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3391
msgid "Level"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3392
msgid "BOM level"
msgstr ""
-#: part/models.py:3410
+#: part/models.py:3472
msgid "Select parent part"
msgstr ""
-#: part/models.py:3418
+#: part/models.py:3480
msgid "Sub part"
msgstr ""
-#: part/models.py:3419
+#: part/models.py:3481
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3425
+#: part/models.py:3487
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3429 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:940 templates/js/translated/bom.js:993
-#: templates/js/translated/build.js:1869
+#: part/models.py:3491 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:943 templates/js/translated/bom.js:996
+#: templates/js/translated/build.js:1871
#: templates/js/translated/table_filters.js:84
#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "可选项"
-#: part/models.py:3430
+#: part/models.py:3492
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3435 templates/js/translated/bom.js:936
-#: templates/js/translated/bom.js:1002 templates/js/translated/build.js:1860
+#: part/models.py:3497 templates/js/translated/bom.js:939
+#: templates/js/translated/bom.js:1005 templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3436
+#: part/models.py:3498
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3440 part/templates/part/upload_bom.html:55
+#: part/models.py:3502 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3441
+#: part/models.py:3503
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3444
+#: part/models.py:3506
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3447
+#: part/models.py:3509
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "Checksum"
msgstr ""
-#: part/models.py:3449
+#: part/models.py:3511
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3453 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1019
+#: part/models.py:3515 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1022
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "继承项"
-#: part/models.py:3454
+#: part/models.py:3516
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3459 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1011
+#: part/models.py:3521 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1014
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3460
+#: part/models.py:3522
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3546 stock/models.py:558
+#: part/models.py:3608 stock/models.py:570
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3555 part/models.py:3557
+#: part/models.py:3617 part/models.py:3619
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3684
+#: part/models.py:3735
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3705
+#: part/models.py:3756
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3718
+#: part/models.py:3769
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3726
+#: part/models.py:3777
msgid "Substitute part"
msgstr ""
-#: part/models.py:3741
+#: part/models.py:3792
msgid "Part 1"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Part 2"
msgstr ""
-#: part/models.py:3745
+#: part/models.py:3796
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3763
+#: part/models.py:3814
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3767
+#: part/models.py:3818
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:188 stock/serializers.py:183
+#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:232
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Original Part"
msgstr ""
-#: part/serializers.py:318
+#: part/serializers.py:301
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:323
+#: part/serializers.py:306
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:328 part/templates/part/detail.html:295
+#: part/serializers.py:311 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:328
+#: part/serializers.py:311
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:333
+#: part/serializers.py:316
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:343
+#: part/serializers.py:326
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:349
+#: part/serializers.py:332
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:342
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:370
+#: part/serializers.py:353
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:376
+#: part/serializers.py:359
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:383
+#: part/serializers.py:366
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:391
+#: part/serializers.py:374
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:403
+#: part/serializers.py:386
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:411
+#: part/serializers.py:394
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:562 part/templates/part/copy_part.html:9
-#: templates/js/translated/part.js:385
+#: part/serializers.py:607 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:386
msgid "Duplicate Part"
msgstr "复制部件"
-#: part/serializers.py:562
+#: part/serializers.py:607
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:567 templates/js/translated/part.js:68
+#: part/serializers.py:612 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:567
+#: part/serializers.py:612
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:572
+#: part/serializers.py:617
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:802
+#: part/serializers.py:623
+msgid "Copy Category Parameters"
+msgstr "复制类别参数"
+
+#: part/serializers.py:624
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:829
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:835
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:847
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:852
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:853
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:861
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:950
msgid "Update"
msgstr ""
-#: part/serializers.py:803
+#: part/serializers.py:951
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1113
+#: part/serializers.py:1235
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1121
+#: part/serializers.py:1243
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1122
+#: part/serializers.py:1244
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1127
+#: part/serializers.py:1249
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1128
+#: part/serializers.py:1250
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1133
+#: part/serializers.py:1255
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1134
+#: part/serializers.py:1256
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1139
+#: part/serializers.py:1261
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1140
+#: part/serializers.py:1262
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1180
+#: part/serializers.py:1302
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1181
+#: part/serializers.py:1303
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1211
+#: part/serializers.py:1333
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1254
+#: part/serializers.py:1376
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1379
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1260
+#: part/serializers.py:1382
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1269
+#: part/serializers.py:1391
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1277
+#: part/serializers.py:1399
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1298
+#: part/serializers.py:1420
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:25
+#: part/tasks.py:36
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:26
+#: part/tasks.py:37
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
+#: part/tasks.py:289 templates/js/translated/order.js:2409
+#: templates/js/translated/part.js:921 templates/js/translated/part.js:1424
+#: templates/js/translated/part.js:1476
+msgid "Total Quantity"
+msgstr ""
+
+#: part/tasks.py:290
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/tasks.py:291
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/tasks.py:355
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/tasks.py:356
+msgid "A new stocktake report is available for download"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
@@ -5680,7 +5797,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:290
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:291
msgid "BOM actions"
msgstr ""
@@ -5688,85 +5805,89 @@ msgstr ""
msgid "Delete Items"
msgstr ""
-#: part/templates/part/category.html:34 part/templates/part/category.html:38
+#: part/templates/part/category.html:34
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:40 part/templates/part/category.html:44
msgid "You are subscribed to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:42
+#: part/templates/part/category.html:48
msgid "Subscribe to notifications for this category"
msgstr ""
-#: part/templates/part/category.html:48
+#: part/templates/part/category.html:54
msgid "Category Actions"
msgstr ""
-#: part/templates/part/category.html:53
+#: part/templates/part/category.html:59
msgid "Edit category"
msgstr ""
-#: part/templates/part/category.html:54
+#: part/templates/part/category.html:60
msgid "Edit Category"
msgstr ""
-#: part/templates/part/category.html:58
+#: part/templates/part/category.html:64
msgid "Delete category"
msgstr ""
-#: part/templates/part/category.html:59
+#: part/templates/part/category.html:65
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:95
+#: part/templates/part/category.html:101
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:115 part/templates/part/category.html:224
+#: part/templates/part/category.html:121 part/templates/part/category.html:230
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "子类别"
-#: part/templates/part/category.html:120
+#: part/templates/part/category.html:126
msgid "Parts (Including subcategories)"
msgstr "商品 (包括子类别)"
-#: part/templates/part/category.html:158
+#: part/templates/part/category.html:164
msgid "Create new part"
msgstr "新建商品"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:412
+#: part/templates/part/category.html:165 templates/js/translated/bom.js:413
msgid "New Part"
msgstr "新商品"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:389
-#: part/templates/part/detail.html:420
+#: part/templates/part/category.html:175 part/templates/part/detail.html:390
+#: part/templates/part/detail.html:421
msgid "Options"
msgstr "选项"
-#: part/templates/part/category.html:173
+#: part/templates/part/category.html:179
msgid "Set category"
msgstr "设置类别"
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:180
msgid "Set Category"
msgstr "设置类别"
-#: part/templates/part/category.html:181 part/templates/part/category.html:182
+#: part/templates/part/category.html:187 part/templates/part/category.html:188
msgid "Print Labels"
msgstr "打印标签"
-#: part/templates/part/category.html:207
+#: part/templates/part/category.html:213
msgid "Part Parameters"
msgstr "商品参数"
-#: part/templates/part/category.html:228
+#: part/templates/part/category.html:234
msgid "Create new part category"
msgstr "新建商品类别"
-#: part/templates/part/category.html:229
+#: part/templates/part/category.html:235
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:352
msgid "Create Part Category"
msgstr "创建商品类别"
@@ -5807,118 +5928,120 @@ msgstr ""
msgid "Refresh"
msgstr ""
-#: part/templates/part/detail.html:65
+#: part/templates/part/detail.html:66
msgid "Add stocktake information"
msgstr ""
-#: part/templates/part/detail.html:66 part/templates/part/part_sidebar.html:49
-#: stock/admin.py:107 templates/js/translated/stock.js:1913
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:124 templates/InvenTree/settings/part_stocktake.html:29
+#: templates/InvenTree/settings/sidebar.html:49
+#: templates/js/translated/stock.js:1946 users/models.py:39
msgid "Stocktake"
msgstr ""
-#: part/templates/part/detail.html:82
+#: part/templates/part/detail.html:83
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:87
+#: part/templates/part/detail.html:88
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:144 stock/templates/stock/item.html:53
+#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:164
+#: part/templates/part/detail.html:165
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:179
+#: part/templates/part/detail.html:180
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:183
+#: part/templates/part/detail.html:184
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:184
+#: part/templates/part/detail.html:185
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:211
+#: part/templates/part/detail.html:212
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:248 part/templates/part/part_sidebar.html:57
+#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/detail.html:253
+#: part/templates/part/detail.html:253 part/templates/part/detail.html:254
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:273 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:278
+#: part/templates/part/detail.html:279
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:282 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:283 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:284
+#: part/templates/part/detail.html:285
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:295
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:296
+#: part/templates/part/detail.html:297
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:301 part/templates/part/detail.html:302
-#: templates/js/translated/bom.js:1275 templates/js/translated/bom.js:1276
+#: part/templates/part/detail.html:302 part/templates/part/detail.html:303
+#: templates/js/translated/bom.js:1278 templates/js/translated/bom.js:1279
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:315
+#: part/templates/part/detail.html:316
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:333
+#: part/templates/part/detail.html:334
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:360 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:376
+#: part/templates/part/detail.html:377
msgid "Part Suppliers"
msgstr "商品供应商"
-#: part/templates/part/detail.html:406
+#: part/templates/part/detail.html:407
msgid "Part Manufacturers"
msgstr "商品制造商"
-#: part/templates/part/detail.html:422
+#: part/templates/part/detail.html:423
msgid "Delete manufacturer parts"
msgstr "删除制造商商品"
-#: part/templates/part/detail.html:696
+#: part/templates/part/detail.html:703
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:704
+#: part/templates/part/detail.html:711
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:800
+#: part/templates/part/detail.html:799
msgid "Add Test Result Template"
msgstr ""
@@ -5953,13 +6076,13 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:1028 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:1086 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:1029
+#: templates/js/translated/order.js:1087
msgid "Select file format"
msgstr ""
@@ -5981,7 +6104,7 @@ msgstr ""
#: part/templates/part/part_base.html:54
#: stock/templates/stock/item_base.html:63
-#: stock/templates/stock/location.html:67
+#: stock/templates/stock/location.html:73
msgid "Print Label"
msgstr "打印标签"
@@ -5991,7 +6114,7 @@ msgstr ""
#: part/templates/part/part_base.html:65
#: stock/templates/stock/item_base.html:111
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/location.html:81
msgid "Stock actions"
msgstr ""
@@ -6049,15 +6172,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "商品是虚拟的(不是实体零件)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:660
-#: templates/js/translated/company.js:921
+#: templates/js/translated/company.js:699
+#: templates/js/translated/company.js:960
#: templates/js/translated/model_renderers.js:206
-#: templates/js/translated/part.js:663 templates/js/translated/part.js:1009
+#: templates/js/translated/part.js:669 templates/js/translated/part.js:1094
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:687
+#: part/templates/part/part_base.html:686
msgid "Show Part Details"
msgstr ""
@@ -6067,16 +6190,16 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:221
-#: stock/templates/stock/item_base.html:382
+#: stock/templates/stock/item_base.html:385
msgid "Allocated to Build Orders"
msgstr ""
#: part/templates/part/part_base.html:230
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:378
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1173
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1176
msgid "Can Build"
msgstr ""
@@ -6084,44 +6207,48 @@ msgstr ""
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1039
-#: templates/js/translated/part.js:1052 templates/js/translated/part.js:1858
-#: templates/js/translated/pricing.js:365
-#: templates/js/translated/pricing.js:1003
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1042
+#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1941
+#: templates/js/translated/pricing.js:370
+#: templates/js/translated/pricing.js:1016
msgid "Price Range"
msgstr ""
-#: part/templates/part/part_base.html:359
+#: part/templates/part/part_base.html:360
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:363
-#: stock/templates/stock/item_base.html:331
+#: part/templates/part/part_base.html:364
+#: stock/templates/stock/item_base.html:334
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:470
+#: part/templates/part/part_base.html:452
+msgid "Part QR Code"
+msgstr "商品二维码"
+
+#: part/templates/part/part_base.html:469
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:516
+#: part/templates/part/part_base.html:515
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:533
+#: part/templates/part/part_base.html:532
msgid "Remove associated image from this part"
msgstr ""
-#: part/templates/part/part_base.html:585
+#: part/templates/part/part_base.html:584
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:681
+#: part/templates/part/part_base.html:680
msgid "Hide Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:73
-#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:459
+#: part/templates/part/prices.html:216 templates/js/translated/pricing.js:464
msgid "Supplier Pricing"
msgstr ""
@@ -6136,6 +6263,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:58
#: part/templates/part/part_pricing.html:99
#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:927
msgid "Total Cost"
msgstr ""
@@ -6176,11 +6304,27 @@ msgstr ""
msgid "Variants"
msgstr ""
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1717
+#: templates/js/translated/part.js:1871 templates/js/translated/stock.js:1004
+#: templates/js/translated/stock.js:1835 templates/navbar.html:31
+msgid "Stock"
+msgstr "库存"
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:37
+msgid "Pricing"
+msgstr "定价"
+
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:53
+#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
msgstr ""
@@ -6196,11 +6340,11 @@ msgstr ""
msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:25 stock/admin.py:106
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1039
-#: templates/js/translated/company.js:1048
-#: templates/js/translated/stock.js:1943
+#: part/templates/part/prices.html:25 stock/admin.py:123
+#: stock/templates/stock/item_base.html:443
+#: templates/js/translated/company.js:1078
+#: templates/js/translated/company.js:1087
+#: templates/js/translated/stock.js:1976
msgid "Last Updated"
msgstr ""
@@ -6263,8 +6407,8 @@ msgstr ""
msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:625
-#: templates/js/translated/part.js:1627 templates/js/translated/part.js:1629
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:631
+#: templates/js/translated/part.js:1712 templates/js/translated/part.js:1714
msgid "No Stock"
msgstr ""
@@ -6327,32 +6471,28 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:111
+#: part/views.py:110
msgid "Match References"
msgstr ""
-#: part/views.py:239
+#: part/views.py:238
#, python-brace-format
msgid "Can't import part {name} because there is no category assigned"
msgstr ""
-#: part/views.py:378
-msgid "Part QR Code"
-msgstr "商品二维码"
-
-#: part/views.py:396
+#: part/views.py:379
msgid "Select Part Image"
msgstr "选择商品图像"
-#: part/views.py:422
+#: part/views.py:405
msgid "Updated part image"
msgstr "更新商品图像"
-#: part/views.py:425
+#: part/views.py:408
msgid "Part image not found"
msgstr "未找到商品图像"
-#: part/views.py:520
+#: part/views.py:503
msgid "Part Pricing"
msgstr "商品价格"
@@ -6503,16 +6643,16 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/registry.py:444
+#: plugin/registry.py:445
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:446
+#: plugin/registry.py:447
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:448
+#: plugin/registry.py:449
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6549,27 +6689,27 @@ msgstr ""
msgid "A setting with multiple choices"
msgstr ""
-#: plugin/serializers.py:72
+#: plugin/serializers.py:80
msgid "Source URL"
msgstr ""
-#: plugin/serializers.py:73
+#: plugin/serializers.py:81
msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr ""
-#: plugin/serializers.py:78
+#: plugin/serializers.py:86
msgid "Package Name"
msgstr ""
-#: plugin/serializers.py:79
+#: plugin/serializers.py:87
msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr ""
-#: plugin/serializers.py:82
+#: plugin/serializers.py:90
msgid "Confirm plugin installation"
msgstr ""
-#: plugin/serializers.py:83
+#: plugin/serializers.py:91
msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr ""
@@ -6610,71 +6750,71 @@ msgstr ""
msgid "Report revision number (auto-increments)"
msgstr ""
-#: report/models.py:248
+#: report/models.py:252
msgid "Pattern for generating report filenames"
msgstr ""
-#: report/models.py:255
+#: report/models.py:259
msgid "Report template is enabled"
msgstr ""
-#: report/models.py:281
+#: report/models.py:280
msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr ""
-#: report/models.py:289
+#: report/models.py:288
msgid "Include Installed Tests"
msgstr ""
-#: report/models.py:290
+#: report/models.py:289
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:337
+#: report/models.py:336
msgid "Build Filters"
msgstr ""
-#: report/models.py:338
+#: report/models.py:337
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:377
+#: report/models.py:376
msgid "Part Filters"
msgstr "商品过滤器"
-#: report/models.py:378
+#: report/models.py:377
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:412
+#: report/models.py:411
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:450
+#: report/models.py:449
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:502
+#: report/models.py:501
msgid "Snippet"
msgstr ""
-#: report/models.py:503
+#: report/models.py:502
msgid "Report snippet file"
msgstr ""
-#: report/models.py:507
+#: report/models.py:506
msgid "Snippet file description"
msgstr ""
-#: report/models.py:544
+#: report/models.py:543
msgid "Asset"
msgstr ""
-#: report/models.py:545
+#: report/models.py:544
msgid "Report asset file"
msgstr ""
-#: report/models.py:552
+#: report/models.py:551
msgid "Asset file description"
msgstr ""
@@ -6695,12 +6835,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:706 stock/templates/stock/item_base.html:320
-#: templates/js/translated/build.js:479 templates/js/translated/build.js:635
-#: templates/js/translated/build.js:1245 templates/js/translated/build.js:1746
+#: stock/models.py:718 stock/templates/stock/item_base.html:323
+#: templates/js/translated/build.js:479 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1247 templates/js/translated/build.js:1748
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:122 templates/js/translated/order.js:3641
-#: templates/js/translated/order.js:3728 templates/js/translated/stock.js:521
+#: templates/js/translated/order.js:126 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3780 templates/js/translated/stock.js:528
msgid "Serial Number"
msgstr "序列号"
@@ -6709,12 +6849,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2165 templates/js/translated/stock.js:1378
+#: stock/models.py:2177 templates/js/translated/stock.js:1415
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2171
+#: stock/models.py:2183
msgid "Result"
msgstr ""
@@ -6732,315 +6872,330 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: stock/admin.py:87 templates/js/translated/part.js:732
-#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2768
+#: stock/admin.py:104 templates/js/translated/stock.js:648
+#: templates/js/translated/stock.js:820 templates/js/translated/stock.js:2819
msgid "Serial"
msgstr ""
-#: stock/admin.py:23 stock/admin.py:90
+#: stock/admin.py:39 stock/admin.py:107
#: templates/js/translated/model_renderers.js:161
msgid "Location ID"
msgstr ""
-#: stock/admin.py:24 stock/admin.py:91
+#: stock/admin.py:40 stock/admin.py:108
msgid "Location Name"
msgstr ""
-#: stock/admin.py:28 stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
+#: stock/admin.py:44 stock/templates/stock/location.html:129
+#: stock/templates/stock/location.html:135
msgid "Location Path"
msgstr ""
-#: stock/admin.py:83
+#: stock/admin.py:100
msgid "Stock Item ID"
msgstr ""
-#: stock/admin.py:92 templates/js/translated/model_renderers.js:431
+#: stock/admin.py:109 templates/js/translated/model_renderers.js:431
msgid "Supplier Part ID"
msgstr "供应商商品ID"
-#: stock/admin.py:93
+#: stock/admin.py:110
msgid "Supplier ID"
msgstr ""
-#: stock/admin.py:94
+#: stock/admin.py:111
msgid "Supplier Name"
msgstr ""
-#: stock/admin.py:95
+#: stock/admin.py:112
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:96 stock/models.py:689
-#: stock/templates/stock/item_base.html:359
+#: stock/admin.py:113 stock/models.py:701
+#: stock/templates/stock/item_base.html:362
msgid "Installed In"
msgstr ""
-#: stock/admin.py:97 templates/js/translated/model_renderers.js:179
+#: stock/admin.py:114 templates/js/translated/model_renderers.js:179
msgid "Build ID"
msgstr ""
-#: stock/admin.py:99
+#: stock/admin.py:116
msgid "Sales Order ID"
msgstr ""
-#: stock/admin.py:100
+#: stock/admin.py:117
msgid "Purchase Order ID"
msgstr ""
-#: stock/admin.py:108 stock/models.py:762
-#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1927
+#: stock/admin.py:125 stock/models.py:774
+#: stock/templates/stock/item_base.html:430
+#: templates/js/translated/stock.js:1960
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:541
+#: stock/api.py:575
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:548
+#: stock/api.py:582
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:573
+#: stock/api.py:607
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:107 stock/models.py:803
-#: stock/templates/stock/item_base.html:250
-msgid "Owner"
-msgstr ""
-
-#: stock/models.py:108 stock/models.py:804
-msgid "Select Owner"
-msgstr ""
-
-#: stock/models.py:115
-msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
-msgstr ""
-
-#: stock/models.py:158
-msgid "You cannot make this stock location structural because some stock items are already located into it!"
-msgstr ""
-
-#: stock/models.py:539
-msgid "Stock items cannot be located into structural stock locations!"
-msgstr ""
-
-#: stock/models.py:564 stock/serializers.py:97
-msgid "Stock item cannot be created for virtual parts"
-msgstr ""
-
-#: stock/models.py:581
-#, python-brace-format
-msgid "Part type ('{pf}') must be {pe}"
-msgstr "商品类型 ('{pf}') 必须是 {pe}"
-
-#: stock/models.py:591 stock/models.py:600
-msgid "Quantity must be 1 for item with a serial number"
-msgstr ""
-
-#: stock/models.py:592
-msgid "Serial number cannot be set if quantity greater than 1"
-msgstr ""
-
-#: stock/models.py:614
-msgid "Item cannot belong to itself"
-msgstr ""
-
-#: stock/models.py:620
-msgid "Item must have a build reference if is_building=True"
-msgstr ""
-
-#: stock/models.py:634
-msgid "Build reference does not point to the same part object"
-msgstr ""
-
-#: stock/models.py:648
-msgid "Parent Stock Item"
-msgstr ""
-
-#: stock/models.py:658
-msgid "Base part"
-msgstr ""
-
-#: stock/models.py:666
-msgid "Select a matching supplier part for this stock item"
-msgstr ""
-
-#: stock/models.py:673 stock/templates/stock/location.html:17
+#: stock/models.py:53 stock/models.py:685
+#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "仓储地点"
-#: stock/models.py:676
+#: stock/models.py:54 stock/templates/stock/location.html:183
+#: templates/InvenTree/search.html:167 templates/js/translated/search.js:240
+#: users/models.py:40
+msgid "Stock Locations"
+msgstr "仓储地点"
+
+#: stock/models.py:113 stock/models.py:815
+#: stock/templates/stock/item_base.html:253
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:114 stock/models.py:816
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:121
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:127 templates/js/translated/stock.js:2535
+#: templates/js/translated/table_filters.js:139
+msgid "External"
+msgstr ""
+
+#: stock/models.py:128
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:170
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:551
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:576 stock/serializers.py:151
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:593
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr "商品类型 ('{pf}') 必须是 {pe}"
+
+#: stock/models.py:603 stock/models.py:612
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:604
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:626
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:632
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:646
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:660
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:670
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:678
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:688
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:683
+#: stock/models.py:695
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:692
+#: stock/models.py:704
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:708
+#: stock/models.py:720
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:734
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:727
+#: stock/models.py:739
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:734
+#: stock/models.py:746
msgid "Source Build"
msgstr ""
-#: stock/models.py:736
+#: stock/models.py:748
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:759
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:762
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:756
+#: stock/models.py:768
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:775
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:778
+#: stock/models.py:790
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:791 stock/templates/stock/item.html:132
+#: stock/models.py:803 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:811
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:827
+#: stock/models.py:839
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1329
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1323
+#: stock/models.py:1335
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1329
+#: stock/models.py:1341
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1332
+#: stock/models.py:1344
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1335
+#: stock/models.py:1347
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1354
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1412
+#: stock/models.py:1424
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1415
+#: stock/models.py:1427
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1418
+#: stock/models.py:1430
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1421
+#: stock/models.py:1433
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1436
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1427
+#: stock/models.py:1439
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1434 stock/serializers.py:963
+#: stock/models.py:1446 stock/serializers.py:944
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1438
+#: stock/models.py:1450
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1442
+#: stock/models.py:1454
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1446
+#: stock/models.py:1458
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1615
+#: stock/models.py:1627
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2083
+#: stock/models.py:2095
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2141
+#: stock/models.py:2153
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2147
+#: stock/models.py:2159
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2178
msgid "Test name"
msgstr ""
-#: stock/models.py:2172
+#: stock/models.py:2184
msgid "Test result"
msgstr ""
-#: stock/models.py:2178
+#: stock/models.py:2190
msgid "Test output value"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2197
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2203
msgid "Test notes"
msgstr ""
@@ -7048,128 +7203,128 @@ msgstr ""
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:176
+#: stock/serializers.py:229
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:286
+#: stock/serializers.py:280
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:298
+#: stock/serializers.py:292
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
msgid "Enter serial numbers for new items"
msgstr "输入新项目的序列号"
-#: stock/serializers.py:315 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:309 stock/serializers.py:901 stock/serializers.py:1143
msgid "Destination stock location"
msgstr "目标库存位置"
-#: stock/serializers.py:322
+#: stock/serializers.py:316
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:332
+#: stock/serializers.py:326
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:353
+#: stock/serializers.py:347
msgid "Serial numbers already exist"
msgstr "序列号已存在"
-#: stock/serializers.py:393
+#: stock/serializers.py:387
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:406
+#: stock/serializers.py:400
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:413
+#: stock/serializers.py:407
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:450
+#: stock/serializers.py:444
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:449 stock/serializers.py:530
msgid "Add transaction note (optional)"
msgstr "添加交易备注 (可选)"
-#: stock/serializers.py:489
+#: stock/serializers.py:483
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:500
+#: stock/serializers.py:494
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:531
+#: stock/serializers.py:525
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:756
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:760
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:764
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:795
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:801
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:809
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:819 stock/serializers.py:1050
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:908
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:913
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:914
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:919
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:920
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:930
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1012
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1040
msgid "Stock transaction notes"
msgstr ""
@@ -7206,7 +7361,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2968
msgid "Install Stock Item"
msgstr ""
@@ -7214,7 +7369,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
+#: stock/templates/stock/item.html:319 templates/js/translated/stock.js:1607
msgid "Add Test Result"
msgstr ""
@@ -7227,7 +7382,7 @@ msgid "Scan to Location"
msgstr ""
#: stock/templates/stock/item_base.html:60
-#: stock/templates/stock/location.html:63
+#: stock/templates/stock/location.html:69
msgid "Printing actions"
msgstr ""
@@ -7236,7 +7391,7 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:80
-#: stock/templates/stock/location.html:82 templates/stock_table.html:47
+#: stock/templates/stock/location.html:88 templates/stock_table.html:47
msgid "Count stock"
msgstr ""
@@ -7253,7 +7408,7 @@ msgid "Serialize stock"
msgstr ""
#: stock/templates/stock/item_base.html:89
-#: stock/templates/stock/location.html:88 templates/stock_table.html:48
+#: stock/templates/stock/location.html:94 templates/stock_table.html:48
msgid "Transfer stock"
msgstr ""
@@ -7297,125 +7452,129 @@ msgstr ""
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/item_base.html:199
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:217
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:257
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:255
-#: stock/templates/stock/location.html:141
+#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/location.html:147
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:268
+#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
msgstr "此库存项目正在生产中,无法编辑。"
-#: stock/templates/stock/item_base.html:269
+#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:282
+#: stock/templates/stock/item_base.html:285
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:290
+#: stock/templates/stock/item_base.html:293
msgid "This stock item is allocated to Sales Order"
msgstr ""
-#: stock/templates/stock/item_base.html:298
+#: stock/templates/stock/item_base.html:301
msgid "This stock item is allocated to Build Order"
msgstr ""
-#: stock/templates/stock/item_base.html:304
+#: stock/templates/stock/item_base.html:307
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:329
msgid "Navigate to previous serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:335
+#: stock/templates/stock/item_base.html:338
msgid "Navigate to next serial number"
msgstr ""
-#: stock/templates/stock/item_base.html:348
+#: stock/templates/stock/item_base.html:351
msgid "Available Quantity"
msgstr ""
-#: stock/templates/stock/item_base.html:392
-#: templates/js/translated/build.js:1769
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/build.js:1771
msgid "No location set"
msgstr "未设置仓储地点"
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:410
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:431
+#: stock/templates/stock/item_base.html:434
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:297
+#: stock/templates/stock/item_base.html:434
+#: templates/js/translated/table_filters.js:301
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:433
+#: stock/templates/stock/item_base.html:436
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:303
+#: stock/templates/stock/item_base.html:436
+#: templates/js/translated/table_filters.js:307
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:449
+#: stock/templates/stock/item_base.html:452
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:519
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:539
+#: stock/templates/stock/item_base.html:530
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:603
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:606
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "警告"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:615
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:643
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -7427,74 +7586,77 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:38
+#: stock/templates/stock/location.html:37
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:44
msgid "Locate stock location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan stock items into this location"
msgstr ""
-#: stock/templates/stock/location.html:56
+#: stock/templates/stock/location.html:62
msgid "Scan In Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:57
+#: stock/templates/stock/location.html:63
msgid "Scan In Container"
msgstr ""
-#: stock/templates/stock/location.html:96
+#: stock/templates/stock/location.html:102
msgid "Location actions"
msgstr "仓储地操作"
-#: stock/templates/stock/location.html:98
+#: stock/templates/stock/location.html:104
msgid "Edit location"
msgstr "编辑仓储地"
-#: stock/templates/stock/location.html:100
+#: stock/templates/stock/location.html:106
msgid "Delete location"
msgstr "删除仓储地"
-#: stock/templates/stock/location.html:130
+#: stock/templates/stock/location.html:136
msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location.html:142
msgid "Location Owner"
msgstr ""
-#: stock/templates/stock/location.html:140
+#: stock/templates/stock/location.html:146
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。"
-#: stock/templates/stock/location.html:163
-#: stock/templates/stock/location.html:211
+#: stock/templates/stock/location.html:169
+#: stock/templates/stock/location.html:217
#: stock/templates/stock/location_sidebar.html:5
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:177 templates/InvenTree/search.html:167
-#: templates/js/translated/search.js:240 users/models.py:39
-msgid "Stock Locations"
-msgstr "仓储地点"
-
-#: stock/templates/stock/location.html:215
+#: stock/templates/stock/location.html:221
msgid "Create new stock location"
msgstr "新建仓储地点"
-#: stock/templates/stock/location.html:216
+#: stock/templates/stock/location.html:222
msgid "New Location"
msgstr "新建仓储地点"
-#: stock/templates/stock/location.html:310
+#: stock/templates/stock/location.html:330
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:394
+#: stock/templates/stock/location.html:403
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:414
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -7514,10 +7676,6 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/views.py:109
-msgid "Stock Location QR code"
-msgstr "仓储地点二维码"
-
#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
msgid "Permission Denied"
msgstr ""
@@ -7672,7 +7830,7 @@ msgid "Delete all read notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:93
-#: templates/js/translated/notification.js:82
+#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -7769,8 +7927,16 @@ msgstr "导入商品"
msgid "Part Parameter Templates"
msgstr "商品参数模板"
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:24
+msgid "Stocktake Reports"
+msgstr ""
+
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:57
+#: templates/InvenTree/settings/sidebar.html:59
msgid "Plugin Settings"
msgstr ""
@@ -7779,7 +7945,7 @@ msgid "Changing the settings below require you to immediately restart the server
msgstr ""
#: templates/InvenTree/settings/plugin.html:38
-#: templates/InvenTree/settings/sidebar.html:59
+#: templates/InvenTree/settings/sidebar.html:61
msgid "Plugins"
msgstr ""
@@ -7814,7 +7980,7 @@ msgid "Stage"
msgstr ""
#: templates/InvenTree/settings/plugin.html:105
-#: templates/js/translated/notification.js:75
+#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
@@ -7931,71 +8097,71 @@ msgstr "未设置值"
msgid "Edit setting"
msgstr "编辑设置"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings_js.html:60
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings_js.html:63
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings_js.html:65
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:196
+#: templates/InvenTree/settings/settings_staff_js.html:49
msgid "Rate"
msgstr ""
-#: templates/InvenTree/settings/settings.html:261
+#: templates/InvenTree/settings/settings_staff_js.html:117
msgid "No category parameter templates found"
msgstr "未找到类别参数模板"
-#: templates/InvenTree/settings/settings.html:283
-#: templates/InvenTree/settings/settings.html:408
+#: templates/InvenTree/settings/settings_staff_js.html:139
+#: templates/InvenTree/settings/settings_staff_js.html:267
msgid "Edit Template"
msgstr "编辑模板"
-#: templates/InvenTree/settings/settings.html:284
-#: templates/InvenTree/settings/settings.html:409
+#: templates/InvenTree/settings/settings_staff_js.html:140
+#: templates/InvenTree/settings/settings_staff_js.html:268
msgid "Delete Template"
msgstr "删除模板"
-#: templates/InvenTree/settings/settings.html:324
-msgid "Create Category Parameter Template"
-msgstr "创建类别参数模板"
-
-#: templates/InvenTree/settings/settings.html:369
+#: templates/InvenTree/settings/settings_staff_js.html:179
msgid "Delete Category Parameter Template"
msgstr "删除类别参数模板"
-#: templates/InvenTree/settings/settings.html:381
+#: templates/InvenTree/settings/settings_staff_js.html:215
+msgid "Create Category Parameter Template"
+msgstr "创建类别参数模板"
+
+#: templates/InvenTree/settings/settings_staff_js.html:240
msgid "No part parameter templates found"
msgstr "未找到商品参数模板"
-#: templates/InvenTree/settings/settings.html:385
+#: templates/InvenTree/settings/settings_staff_js.html:244
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:427
+#: templates/InvenTree/settings/settings_staff_js.html:286
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:446
+#: templates/InvenTree/settings/settings_staff_js.html:305
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:460
+#: templates/InvenTree/settings/settings_staff_js.html:319
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:468
+#: templates/InvenTree/settings/settings_staff_js.html:327
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8041,7 +8207,7 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:45
+#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -8514,11 +8680,11 @@ msgstr ""
msgid "Verify"
msgstr ""
-#: templates/attachment_button.html:4 templates/js/translated/attachment.js:54
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:61
msgid "Add Link"
msgstr ""
-#: templates/attachment_button.html:7 templates/js/translated/attachment.js:36
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:39
msgid "Add Attachment"
msgstr "添加附件"
@@ -8526,7 +8692,7 @@ msgstr "添加附件"
msgid "Delete selected attachments"
msgstr ""
-#: templates/attachment_table.html:12 templates/js/translated/attachment.js:113
+#: templates/attachment_table.html:12 templates/js/translated/attachment.js:120
msgid "Delete Attachments"
msgstr ""
@@ -8573,7 +8739,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1637
+#: templates/js/translated/bom.js:1640
msgid "Required Quantity"
msgstr ""
@@ -8587,7 +8753,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2709
+#: templates/js/translated/part.js:2808
msgid "Minimum Quantity"
msgstr ""
@@ -8595,11 +8761,11 @@ msgstr ""
msgid "Expand all rows"
msgstr ""
-#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1080
+#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1110
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1111
msgid "No response from the InvenTree server"
msgstr ""
@@ -8611,27 +8777,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1090
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1120
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1091
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1121
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1095
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1125
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1096
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1126
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1100
+#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1130
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1101
+#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1131
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -8643,11 +8809,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1105
+#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1135
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1106
+#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1136
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -8659,27 +8825,27 @@ msgstr ""
msgid "Error code"
msgstr ""
-#: templates/js/translated/attachment.js:98
+#: templates/js/translated/attachment.js:105
msgid "All selected attachments will be deleted"
msgstr ""
-#: templates/js/translated/attachment.js:194
+#: templates/js/translated/attachment.js:245
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:220
+#: templates/js/translated/attachment.js:275
msgid "Edit Attachment"
msgstr "编辑附件"
-#: templates/js/translated/attachment.js:290
+#: templates/js/translated/attachment.js:316
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:313
+#: templates/js/translated/attachment.js:339
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:322
+#: templates/js/translated/attachment.js:348
msgid "Delete attachment"
msgstr ""
@@ -8716,7 +8882,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:237
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "Invalid server response"
msgstr ""
@@ -8740,7 +8906,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1088
+#: templates/js/translated/barcode.js:524 templates/js/translated/stock.js:1103
msgid "Remove stock item"
msgstr ""
@@ -8810,10 +8976,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:666
-#: templates/js/translated/modals.js:68 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:702 templates/js/translated/modals.js:1010
-#: templates/js/translated/order.js:1251 templates/modals.html:15
+#: 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/order.js:1309 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8886,122 +9052,122 @@ msgstr ""
msgid "Include part pricing data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:557
+#: templates/js/translated/bom.js:560
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:611
+#: templates/js/translated/bom.js:614
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:622
+#: templates/js/translated/bom.js:625
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:628
+#: templates/js/translated/bom.js:631
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:667
+#: templates/js/translated/bom.js:670
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:668
+#: templates/js/translated/bom.js:671
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:733
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:746
+#: templates/js/translated/bom.js:749
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:875
+#: templates/js/translated/bom.js:878
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:885
+#: templates/js/translated/bom.js:888
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:889 templates/js/translated/build.js:1846
+#: templates/js/translated/bom.js:892 templates/js/translated/build.js:1848
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:979
+#: templates/js/translated/bom.js:982
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1030 templates/js/translated/bom.js:1268
+#: templates/js/translated/bom.js:1033 templates/js/translated/bom.js:1271
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1102
+#: templates/js/translated/bom.js:1105
msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1107
+#: templates/js/translated/bom.js:1110
msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1114
+#: templates/js/translated/bom.js:1117
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:1918
-#: templates/js/translated/order.js:3960
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1920
+#: templates/js/translated/order.js:4012
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1153 templates/js/translated/build.js:1924
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1924
-#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1826
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1926
+#: templates/js/translated/part.js:1129 templates/js/translated/part.js:1909
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:1928
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1179 templates/js/translated/build.js:1909
-#: templates/js/translated/build.js:1996
+#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:1911
+#: templates/js/translated/build.js:1998
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1239
+#: templates/js/translated/bom.js:1242
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1241
+#: templates/js/translated/bom.js:1244
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1243
+#: templates/js/translated/bom.js:1246
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1245 templates/js/translated/bom.js:1441
+#: templates/js/translated/bom.js:1248 templates/js/translated/bom.js:1444
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1247
+#: templates/js/translated/bom.js:1250
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1690
+#: templates/js/translated/bom.js:1355 templates/js/translated/build.js:1692
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1620 templates/js/translated/build.js:1829
+#: templates/js/translated/bom.js:1623 templates/js/translated/build.js:1831
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1646
+#: templates/js/translated/bom.js:1649
msgid "Inherited from parent BOM"
msgstr ""
@@ -9046,12 +9212,12 @@ msgid "Complete Build Order"
msgstr "生产订单完成"
#: templates/js/translated/build.js:318 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:236
+#: templates/js/translated/stock.js:237
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:320 templates/js/translated/stock.js:96
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Latest serial number"
msgstr ""
@@ -9099,323 +9265,323 @@ msgstr ""
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:466 templates/js/translated/build.js:622
+#: templates/js/translated/build.js:466 templates/js/translated/build.js:624
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:467 templates/js/translated/build.js:623
+#: templates/js/translated/build.js:467 templates/js/translated/build.js:625
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:521 templates/js/translated/build.js:677
+#: templates/js/translated/build.js:521 templates/js/translated/build.js:679
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:543
+#: templates/js/translated/build.js:545
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:690
+#: templates/js/translated/build.js:692
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:780
+#: templates/js/translated/build.js:782
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:817
+#: templates/js/translated/build.js:819
msgid "Location not specified"
msgstr "未指定仓储地点"
-#: templates/js/translated/build.js:1205
+#: templates/js/translated/build.js:1207
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1278
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1283
+#: templates/js/translated/build.js:1285
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1305
+#: templates/js/translated/build.js:1307
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1310
+#: templates/js/translated/build.js:1312
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1786 templates/js/translated/build.js:2788
-#: templates/js/translated/order.js:3676
+#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2790
+#: templates/js/translated/order.js:3728
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1788 templates/js/translated/build.js:2789
-#: templates/js/translated/order.js:3677
+#: templates/js/translated/build.js:1790 templates/js/translated/build.js:2791
+#: templates/js/translated/order.js:3729
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1806
+#: templates/js/translated/build.js:1808
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1816
+#: templates/js/translated/build.js:1818
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1842
+#: templates/js/translated/build.js:1844
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1878
+#: templates/js/translated/build.js:1880
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1912 templates/js/translated/order.js:3967
+#: templates/js/translated/build.js:1914 templates/js/translated/order.js:4019
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1914 templates/js/translated/order.js:3965
+#: templates/js/translated/build.js:1916 templates/js/translated/order.js:4017
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2004 templates/js/translated/order.js:4059
+#: templates/js/translated/build.js:2006 templates/js/translated/order.js:4111
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2008 templates/stock_table.html:50
+#: templates/js/translated/build.js:2010 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2011 templates/js/translated/order.js:4052
+#: templates/js/translated/build.js:2013 templates/js/translated/order.js:4104
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2050 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1075 templates/js/translated/order.js:3203
+#: templates/js/translated/build.js:2052 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:1133 templates/js/translated/order.js:3255
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "选择商品"
-#: templates/js/translated/build.js:2051 templates/js/translated/order.js:3204
+#: templates/js/translated/build.js:2053 templates/js/translated/order.js:3256
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2100 templates/js/translated/order.js:3152
+#: templates/js/translated/build.js:2102 templates/js/translated/order.js:3204
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2179
+#: templates/js/translated/build.js:2181
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2180
+#: templates/js/translated/build.js:2182
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2194 templates/js/translated/order.js:3218
+#: templates/js/translated/build.js:2196 templates/js/translated/order.js:3270
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2222
+#: templates/js/translated/build.js:2224
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2233 templates/js/translated/order.js:3315
+#: templates/js/translated/build.js:2235 templates/js/translated/order.js:3367
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2305 templates/js/translated/order.js:3392
+#: templates/js/translated/build.js:2307 templates/js/translated/order.js:3444
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2402
+#: templates/js/translated/build.js:2404
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2403
+#: templates/js/translated/build.js:2405
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2405
+#: templates/js/translated/build.js:2407
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2406
+#: templates/js/translated/build.js:2408
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2407
+#: templates/js/translated/build.js:2409
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:2434
+#: templates/js/translated/build.js:2436
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2540
+#: templates/js/translated/build.js:2542
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2575 templates/js/translated/part.js:1720
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:1732
-#: templates/js/translated/stock.js:2431
+#: templates/js/translated/build.js:2577 templates/js/translated/part.js:1805
+#: templates/js/translated/part.js:2350 templates/js/translated/stock.js:1765
+#: templates/js/translated/stock.js:2464
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2589
+#: templates/js/translated/build.js:2591
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2623
+#: templates/js/translated/build.js:2625
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2659 templates/js/translated/stock.js:2698
+#: templates/js/translated/build.js:2661 templates/js/translated/stock.js:2749
msgid "No user information"
msgstr "没有用户信息"
-#: templates/js/translated/build.js:2765
+#: templates/js/translated/build.js:2767
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:67
+#: templates/js/translated/company.js:69
msgid "Add Manufacturer"
msgstr "添加制造商"
-#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
+#: templates/js/translated/company.js:82 templates/js/translated/company.js:184
msgid "Add Manufacturer Part"
msgstr "添加制造商商品"
-#: templates/js/translated/company.js:101
+#: templates/js/translated/company.js:103
msgid "Edit Manufacturer Part"
msgstr "编辑制造商商品"
-#: templates/js/translated/company.js:170 templates/js/translated/order.js:597
+#: templates/js/translated/company.js:172 templates/js/translated/order.js:630
msgid "Add Supplier"
msgstr "添加供应商"
-#: templates/js/translated/company.js:198 templates/js/translated/order.js:888
+#: templates/js/translated/company.js:200 templates/js/translated/order.js:937
msgid "Add Supplier Part"
msgstr "添加供应商商品"
-#: templates/js/translated/company.js:298
+#: templates/js/translated/company.js:300
msgid "All selected supplier parts will be deleted"
msgstr "删除所有选定的供应商商品"
-#: templates/js/translated/company.js:314
+#: templates/js/translated/company.js:316
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:386
+#: templates/js/translated/company.js:425
msgid "Add new Company"
msgstr "增加新的公司信息"
-#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:502
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:472
+#: templates/js/translated/company.js:511
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:487
+#: templates/js/translated/company.js:526
msgid "No company information found"
msgstr "未找到该公司信息"
-#: templates/js/translated/company.js:528
+#: templates/js/translated/company.js:567
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:543
+#: templates/js/translated/company.js:582
msgid "Delete Manufacturer Parts"
msgstr "删除制造商商品"
-#: templates/js/translated/company.js:577
+#: templates/js/translated/company.js:616
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:591
+#: templates/js/translated/company.js:630
msgid "Delete Parameters"
msgstr "删除参数"
-#: templates/js/translated/company.js:632
+#: templates/js/translated/company.js:671
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:652
-#: templates/js/translated/company.js:913 templates/js/translated/part.js:647
-#: templates/js/translated/part.js:1001
+#: templates/js/translated/company.js:691
+#: templates/js/translated/company.js:952 templates/js/translated/part.js:653
+#: templates/js/translated/part.js:1086
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:656
-#: templates/js/translated/company.js:917 templates/js/translated/part.js:651
-#: templates/js/translated/part.js:1005
+#: templates/js/translated/company.js:695
+#: templates/js/translated/company.js:956 templates/js/translated/part.js:657
+#: templates/js/translated/part.js:1090
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:784 templates/js/translated/part.js:1124
+#: templates/js/translated/company.js:823 templates/js/translated/part.js:1209
msgid "No parameters found"
msgstr "无指定参数"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:1166
+#: templates/js/translated/company.js:860 templates/js/translated/part.js:1251
msgid "Edit parameter"
msgstr "编辑参数"
-#: templates/js/translated/company.js:822 templates/js/translated/part.js:1167
+#: templates/js/translated/company.js:861 templates/js/translated/part.js:1252
msgid "Delete parameter"
msgstr "删除参数"
-#: templates/js/translated/company.js:841 templates/js/translated/part.js:1184
+#: templates/js/translated/company.js:880 templates/js/translated/part.js:1269
msgid "Edit Parameter"
msgstr "编辑参数"
-#: templates/js/translated/company.js:852 templates/js/translated/part.js:1196
+#: templates/js/translated/company.js:891 templates/js/translated/part.js:1281
msgid "Delete Parameter"
msgstr "删除参数"
-#: templates/js/translated/company.js:892
+#: templates/js/translated/company.js:931
msgid "No supplier parts found"
msgstr "未找到供应商商品"
-#: templates/js/translated/company.js:1033
+#: templates/js/translated/company.js:1072
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1061
+#: templates/js/translated/company.js:1100
msgid "Edit supplier part"
msgstr "编辑供应商商品"
-#: templates/js/translated/company.js:1062
+#: templates/js/translated/company.js:1101
msgid "Delete supplier part"
msgstr "删除供应商商品"
-#: templates/js/translated/company.js:1117
-#: templates/js/translated/pricing.js:664
+#: templates/js/translated/company.js:1156
+#: templates/js/translated/pricing.js:673
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1133
-#: templates/js/translated/pricing.js:678
+#: templates/js/translated/company.js:1168
+#: templates/js/translated/pricing.js:691
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1150
+#: templates/js/translated/company.js:1185
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1179
+#: templates/js/translated/company.js:1214
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1185
+#: templates/js/translated/company.js:1220
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1186
+#: templates/js/translated/company.js:1221
msgid "Delete price break"
msgstr ""
@@ -9482,32 +9648,32 @@ msgstr ""
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1337 templates/modals.html:19
+#: templates/js/translated/forms.js:1341 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1791
+#: templates/js/translated/forms.js:1795
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2007 templates/search.html:29
+#: templates/js/translated/forms.js:2011 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2265
+#: templates/js/translated/forms.js:2269
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2721
+#: templates/js/translated/forms.js:2725
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2733
+#: templates/js/translated/forms.js:2737
msgid "Select Columns"
msgstr ""
@@ -9519,7 +9685,7 @@ msgstr ""
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:364
+#: templates/js/translated/helpers.js:368
msgid "Notes updated"
msgstr ""
@@ -9528,7 +9694,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1112
+#: templates/js/translated/stock.js:1127
msgid "Select Stock Items"
msgstr "选择库存项"
@@ -9573,70 +9739,70 @@ msgstr ""
msgid "Export to PDF"
msgstr ""
-#: templates/js/translated/label.js:300
+#: templates/js/translated/label.js:304
msgid "stock items selected"
msgstr "已选择库存项"
-#: templates/js/translated/label.js:308 templates/js/translated/label.js:325
+#: templates/js/translated/label.js:312 templates/js/translated/label.js:329
msgid "Select Label Template"
msgstr "选择标签模板"
-#: templates/js/translated/modals.js:52 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:633
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
+#: templates/js/translated/modals.js:663
msgid "Cancel"
msgstr "取消"
-#: templates/js/translated/modals.js:57 templates/js/translated/modals.js:148
-#: templates/js/translated/modals.js:701 templates/js/translated/modals.js:1009
+#: 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/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:147
+#: templates/js/translated/modals.js:148
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:428
+#: templates/js/translated/modals.js:429
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:575
+#: templates/js/translated/modals.js:576
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:632
+#: templates/js/translated/modals.js:662
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:690
+#: templates/js/translated/modals.js:720
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:961
+#: templates/js/translated/modals.js:991
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:973
+#: templates/js/translated/modals.js:1003
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1100
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1115
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1086
+#: templates/js/translated/modals.js:1116
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1109
+#: templates/js/translated/modals.js:1139
msgid "Error requesting form data"
msgstr ""
@@ -9670,759 +9836,758 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:216
+#: templates/js/translated/notification.js:55
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:207
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:220
+#: templates/js/translated/notification.js:211
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:245
+#: templates/js/translated/notification.js:236
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:287 templates/notifications.html:10
+#: templates/js/translated/notification.js:278 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:98
+#: templates/js/translated/order.js:102
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:103
+#: templates/js/translated/order.js:107
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:143
+#: templates/js/translated/order.js:147
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:163
+#: templates/js/translated/order.js:167
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:219
+#: templates/js/translated/order.js:223
msgid "No pending shipments found"
msgstr ""
-#: templates/js/translated/order.js:223
+#: templates/js/translated/order.js:227
msgid "No stock items have been allocated to pending shipments"
msgstr ""
-#: templates/js/translated/order.js:255
+#: templates/js/translated/order.js:259
msgid "Skip"
msgstr ""
-#: templates/js/translated/order.js:285
+#: templates/js/translated/order.js:289
msgid "Complete Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:302 templates/js/translated/order.js:414
+#: templates/js/translated/order.js:306 templates/js/translated/order.js:418
msgid "Mark this order as complete?"
msgstr ""
-#: templates/js/translated/order.js:308
+#: templates/js/translated/order.js:312
msgid "All line items have been received"
msgstr ""
-#: templates/js/translated/order.js:313
+#: templates/js/translated/order.js:317
msgid "This order has line items which have not been marked as received."
msgstr ""
-#: templates/js/translated/order.js:314 templates/js/translated/order.js:428
+#: templates/js/translated/order.js:318 templates/js/translated/order.js:432
msgid "Completing this order means that the order and line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:337
+#: templates/js/translated/order.js:341
msgid "Cancel Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:342
+#: templates/js/translated/order.js:346
msgid "Are you sure you wish to cancel this purchase order?"
msgstr ""
-#: templates/js/translated/order.js:348
+#: templates/js/translated/order.js:352
msgid "This purchase order can not be cancelled"
msgstr ""
-#: templates/js/translated/order.js:371
+#: templates/js/translated/order.js:375
msgid "Issue Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:376
+#: templates/js/translated/order.js:380
msgid "After placing this purchase order, line items will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:431
msgid "This order has line items which have not been completed."
msgstr ""
-#: templates/js/translated/order.js:451
+#: templates/js/translated/order.js:455
msgid "Cancel Sales Order"
msgstr ""
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:460
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: templates/js/translated/order.js:510
+#: templates/js/translated/order.js:514
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:537
+#: templates/js/translated/order.js:536
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:562
+#: templates/js/translated/order.js:579
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:641
+#: templates/js/translated/order.js:591
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:673
msgid "Select purchase order to duplicate"
msgstr ""
-#: templates/js/translated/order.js:648
+#: templates/js/translated/order.js:680
msgid "Duplicate Line Items"
msgstr ""
-#: templates/js/translated/order.js:649
+#: templates/js/translated/order.js:681
msgid "Duplicate all line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:656
+#: templates/js/translated/order.js:688
msgid "Duplicate Extra Lines"
msgstr ""
-#: templates/js/translated/order.js:657
+#: templates/js/translated/order.js:689
msgid "Duplicate extra line items from the selected order"
msgstr ""
-#: templates/js/translated/order.js:674
+#: templates/js/translated/order.js:706
msgid "Edit Purchase Order"
msgstr ""
-#: templates/js/translated/order.js:691
+#: templates/js/translated/order.js:723
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:1025
+#: templates/js/translated/order.js:1083
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1076
+#: templates/js/translated/order.js:1134
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1101
+#: templates/js/translated/order.js:1159
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1110
+#: templates/js/translated/order.js:1168
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1128
+#: templates/js/translated/order.js:1186
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1161
+#: templates/js/translated/order.js:1219
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1305
+#: templates/js/translated/order.js:1363
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1324
+#: templates/js/translated/order.js:1382
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1501
+#: templates/js/translated/order.js:1559
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1502
+#: templates/js/translated/order.js:1560
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1522 templates/js/translated/order.js:1635
+#: templates/js/translated/order.js:1580 templates/js/translated/order.js:1693
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1528 templates/js/translated/order.js:1646
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:1704
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1543
+#: templates/js/translated/order.js:1601
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1554
+#: templates/js/translated/order.js:1612
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1618 templates/js/translated/stock.js:2187
+#: templates/js/translated/order.js:1676 templates/js/translated/stock.js:2220
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1711
+#: templates/js/translated/order.js:1769
msgid "Order Code"
msgstr "订单编码"
-#: templates/js/translated/order.js:1712
+#: templates/js/translated/order.js:1770
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1714
+#: templates/js/translated/order.js:1772
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1737
+#: templates/js/translated/order.js:1795
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1738
+#: templates/js/translated/order.js:1796
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:2016 templates/js/translated/part.js:1237
+#: templates/js/translated/order.js:2074 templates/js/translated/part.js:1322
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:2043 templates/js/translated/order.js:2847
+#: templates/js/translated/order.js:2101 templates/js/translated/order.js:2899
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2093 templates/js/translated/order.js:2912
-#: templates/js/translated/order.js:3053
+#: templates/js/translated/order.js:2151 templates/js/translated/order.js:2964
+#: templates/js/translated/order.js:3105
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2196 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:4163
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2213 templates/js/translated/order.js:4133
+#: templates/js/translated/order.js:2271 templates/js/translated/order.js:4178
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2226 templates/js/translated/order.js:4144
+#: templates/js/translated/order.js:2284 templates/js/translated/order.js:4189
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2269
+#: templates/js/translated/order.js:2327
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2296 templates/js/translated/order.js:3865
+#: templates/js/translated/order.js:2354 templates/js/translated/order.js:3917
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2351 templates/js/translated/part.js:1339
-#: templates/js/translated/part.js:1391
-msgid "Total Quantity"
-msgstr ""
-
-#: templates/js/translated/order.js:2382 templates/js/translated/order.js:2567
-#: templates/js/translated/order.js:3890 templates/js/translated/order.js:4379
-#: templates/js/translated/pricing.js:501
-#: templates/js/translated/pricing.js:570
-#: templates/js/translated/pricing.js:786
+#: templates/js/translated/order.js:2440 templates/js/translated/order.js:2625
+#: templates/js/translated/order.js:3942 templates/js/translated/order.js:4424
+#: templates/js/translated/pricing.js:506
+#: templates/js/translated/pricing.js:575
+#: templates/js/translated/pricing.js:799
msgid "Unit Price"
msgstr "单价"
-#: templates/js/translated/order.js:2392 templates/js/translated/order.js:2577
-#: templates/js/translated/order.js:3900 templates/js/translated/order.js:4389
+#: templates/js/translated/order.js:2450 templates/js/translated/order.js:2635
+#: templates/js/translated/order.js:3952 templates/js/translated/order.js:4434
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:3928
-#: templates/js/translated/part.js:1375
+#: templates/js/translated/order.js:2478 templates/js/translated/order.js:3980
+#: templates/js/translated/part.js:1460
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2479 templates/js/translated/part.js:1420
+#: templates/js/translated/order.js:2537 templates/js/translated/part.js:1505
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2483 templates/js/translated/order.js:4065
+#: templates/js/translated/order.js:2541 templates/js/translated/order.js:4117
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2484 templates/js/translated/order.js:4066
+#: templates/js/translated/order.js:2542 templates/js/translated/order.js:4118
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2485 templates/js/translated/order.js:4070
+#: templates/js/translated/order.js:2543 templates/js/translated/order.js:4122
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2612 templates/js/translated/order.js:4423
+#: templates/js/translated/order.js:2670 templates/js/translated/order.js:4468
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2613 templates/js/translated/order.js:4424
+#: templates/js/translated/order.js:2671 templates/js/translated/order.js:4469
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2614 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2672 templates/js/translated/order.js:4470
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2644 templates/js/translated/order.js:4454
+#: templates/js/translated/order.js:2702 templates/js/translated/order.js:4499
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2665 templates/js/translated/order.js:4475
+#: templates/js/translated/order.js:2717 templates/js/translated/order.js:4514
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2676 templates/js/translated/order.js:4486
+#: templates/js/translated/order.js:2728 templates/js/translated/order.js:4525
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2687
+#: templates/js/translated/order.js:2739
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2850
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2861
+#: templates/js/translated/order.js:2913
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2959
+#: templates/js/translated/order.js:3011
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2962
+#: templates/js/translated/order.js:3014
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2967
+#: templates/js/translated/order.js:3019
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2987
+#: templates/js/translated/order.js:3039
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:3056
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:3038
+#: templates/js/translated/order.js:3090
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:3048
+#: templates/js/translated/order.js:3100
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3072
+#: templates/js/translated/order.js:3124
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3078
+#: templates/js/translated/order.js:3130
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3082
+#: templates/js/translated/order.js:3134
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3251
+#: templates/js/translated/order.js:3303
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3302
+#: templates/js/translated/order.js:3354
msgid "Confirm stock allocation"
msgstr "确认库存分配"
-#: templates/js/translated/order.js:3303
+#: templates/js/translated/order.js:3355
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3511
+#: templates/js/translated/order.js:3563
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3590
+#: templates/js/translated/order.js:3642
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3607
+#: templates/js/translated/order.js:3659
msgid "Confirm Delete Operation"
msgstr "确认删除操作"
-#: templates/js/translated/order.js:3608
+#: templates/js/translated/order.js:3660
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3653 templates/js/translated/order.js:3742
-#: templates/js/translated/stock.js:1648
+#: templates/js/translated/order.js:3705 templates/js/translated/order.js:3794
+#: templates/js/translated/stock.js:1681
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3661 templates/js/translated/order.js:3751
+#: templates/js/translated/order.js:3713 templates/js/translated/order.js:3803
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4049
+#: templates/js/translated/order.js:4101
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4055
+#: templates/js/translated/order.js:4107
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4062 templates/js/translated/order.js:4260
+#: templates/js/translated/order.js:4114 templates/js/translated/order.js:4305
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4074
+#: templates/js/translated/order.js:4126
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4077
+#: templates/js/translated/order.js:4129
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4159
+#: templates/js/translated/order.js:4204
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4268
+#: templates/js/translated/order.js:4313
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4282
+#: templates/js/translated/order.js:4327
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4497
+#: templates/js/translated/order.js:4536
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:57
msgid "Part Attributes"
msgstr "商品属性"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:61
msgid "Part Creation Options"
msgstr "商品创建选项"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:65
msgid "Part Duplication Options"
msgstr "商品重复选项"
-#: templates/js/translated/part.js:87
+#: templates/js/translated/part.js:88
msgid "Add Part Category"
msgstr "增加商品类别"
-#: templates/js/translated/part.js:213
-msgid "Copy Category Parameters"
-msgstr "复制类别参数"
-
-#: templates/js/translated/part.js:214
-msgid "Copy parameter templates from selected part category"
-msgstr ""
-
#: templates/js/translated/part.js:253
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:268 templates/js/translated/stock.js:121
+#: templates/js/translated/part.js:269 templates/js/translated/stock.js:122
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:284
+#: templates/js/translated/part.js:285
msgid "Edit Part Category"
msgstr "编辑商品类别"
-#: templates/js/translated/part.js:297
+#: templates/js/translated/part.js:298
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:302
+#: templates/js/translated/part.js:303
msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:311
+#: templates/js/translated/part.js:312
msgid "Delete Part Category"
msgstr "删除商品类别"
-#: templates/js/translated/part.js:315
+#: templates/js/translated/part.js:316
msgid "Action for parts in this category"
msgstr ""
-#: templates/js/translated/part.js:320
+#: templates/js/translated/part.js:321
msgid "Action for child categories"
msgstr ""
-#: templates/js/translated/part.js:344
+#: templates/js/translated/part.js:345
msgid "Create Part"
msgstr "创建商品"
-#: templates/js/translated/part.js:346
+#: templates/js/translated/part.js:347
msgid "Create another part after this one"
msgstr ""
-#: templates/js/translated/part.js:347
+#: templates/js/translated/part.js:348
msgid "Part created successfully"
msgstr ""
-#: templates/js/translated/part.js:375
+#: templates/js/translated/part.js:376
msgid "Edit Part"
msgstr "编辑商品"
-#: templates/js/translated/part.js:377
+#: templates/js/translated/part.js:378
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:388
+#: templates/js/translated/part.js:389
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:440
+#: templates/js/translated/part.js:446
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:441
+#: templates/js/translated/part.js:447
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:461
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:457
+#: templates/js/translated/part.js:463
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:458
+#: templates/js/translated/part.js:464
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:465
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:466
+#: templates/js/translated/part.js:472
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:502
+#: templates/js/translated/part.js:508
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:504
+#: templates/js/translated/part.js:510
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:509
+#: templates/js/translated/part.js:515
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:511
+#: templates/js/translated/part.js:517
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:528
+#: templates/js/translated/part.js:534
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:538
+#: templates/js/translated/part.js:544
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:541
+#: templates/js/translated/part.js:547
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:566
+#: templates/js/translated/part.js:572
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:590 templates/js/translated/part.js:1808
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/part.js:596 templates/js/translated/part.js:1891
+#: templates/js/translated/table_filters.js:500
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:600
+#: templates/js/translated/part.js:606
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:623
+#: templates/js/translated/part.js:629
msgid "Unit"
msgstr ""
-#: templates/js/translated/part.js:639 templates/js/translated/part.js:993
+#: templates/js/translated/part.js:645 templates/js/translated/part.js:1078
msgid "Trackable part"
msgstr "可追溯商品"
-#: templates/js/translated/part.js:643 templates/js/translated/part.js:997
+#: templates/js/translated/part.js:649 templates/js/translated/part.js:1082
msgid "Virtual part"
msgstr "虚拟商品"
-#: templates/js/translated/part.js:655
+#: templates/js/translated/part.js:661
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:659
+#: templates/js/translated/part.js:665
msgid "Salable part"
msgstr "可销售商品"
-#: templates/js/translated/part.js:744
-msgid "Stock item has not been checked recently"
+#: templates/js/translated/part.js:740
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:740
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Generate Stocktake Report"
msgstr ""
#: templates/js/translated/part.js:752
-msgid "Update item"
+msgid "Stocktake report scheduled"
msgstr ""
-#: templates/js/translated/part.js:753
-msgid "Delete item"
-msgstr ""
-
-#: templates/js/translated/part.js:854
+#: templates/js/translated/part.js:905
msgid "No stocktake information available"
msgstr ""
-#: templates/js/translated/part.js:893 templates/js/translated/part.js:916
+#: templates/js/translated/part.js:963 templates/js/translated/part.js:1001
msgid "Edit Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:897 templates/js/translated/part.js:928
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1013
msgid "Delete Stocktake Entry"
msgstr ""
-#: templates/js/translated/part.js:1069
+#: templates/js/translated/part.js:1154
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1490
+#: templates/js/translated/part.js:1575
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1599
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1581 templates/js/translated/part.js:1919
+#: templates/js/translated/part.js:1666 templates/js/translated/part.js:2002
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1775
+#: templates/js/translated/part.js:1858
msgid "No category"
msgstr "没有分类"
-#: templates/js/translated/part.js:1806
+#: templates/js/translated/part.js:1889
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1830
+#: templates/js/translated/part.js:1913
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1834
+#: templates/js/translated/part.js:1917
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2186
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2269
+#: templates/js/translated/stock.js:2423
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1959
+#: templates/js/translated/part.js:2042
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2025
+#: templates/js/translated/part.js:2108
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2030
+#: templates/js/translated/part.js:2113
msgid "Set Part Category"
msgstr "设置商品类别"
-#: templates/js/translated/part.js:2035
+#: templates/js/translated/part.js:2118
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2048
+#: templates/js/translated/part.js:2131
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2206 templates/js/translated/stock.js:2410
+#: templates/js/translated/part.js:2289 templates/js/translated/stock.js:2443
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2286
+#: templates/js/translated/part.js:2369
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2302
+#: templates/js/translated/part.js:2385
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2471
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2417 templates/js/translated/stock.js:1337
+#: templates/js/translated/part.js:2522 templates/js/translated/stock.js:1374
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2418 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:1375
+#: templates/js/translated/stock.js:1639
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2424
+#: templates/js/translated/part.js:2529
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2545
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2460
+#: templates/js/translated/part.js:2559
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2541 templates/js/translated/part.js:2542
+#: templates/js/translated/part.js:2640 templates/js/translated/part.js:2641
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2544
+#: templates/js/translated/part.js:2643
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2550
+#: templates/js/translated/part.js:2649
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2600
+#: templates/js/translated/part.js:2699
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2606
+#: templates/js/translated/part.js:2705
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2702
+#: templates/js/translated/part.js:2801
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2718
+#: templates/js/translated/part.js:2817
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2763
+#: templates/js/translated/part.js:2862
msgid "Minimum Stock Level"
msgstr ""
@@ -10434,49 +10599,49 @@ msgstr ""
msgid "Error fetching currency data"
msgstr ""
-#: templates/js/translated/pricing.js:295
+#: templates/js/translated/pricing.js:300
msgid "No BOM data available"
msgstr ""
-#: templates/js/translated/pricing.js:437
+#: templates/js/translated/pricing.js:442
msgid "No supplier pricing data available"
msgstr ""
-#: templates/js/translated/pricing.js:546
+#: templates/js/translated/pricing.js:551
msgid "No price break data available"
msgstr ""
-#: templates/js/translated/pricing.js:602
+#: templates/js/translated/pricing.js:607
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:603
+#: templates/js/translated/pricing.js:608
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/pricing.js:721
+#: templates/js/translated/pricing.js:734
msgid "No purchase history data available"
msgstr ""
-#: templates/js/translated/pricing.js:743
+#: templates/js/translated/pricing.js:756
msgid "Purchase Price History"
msgstr ""
-#: templates/js/translated/pricing.js:843
+#: templates/js/translated/pricing.js:856
msgid "No sales history data available"
msgstr ""
-#: templates/js/translated/pricing.js:865
+#: templates/js/translated/pricing.js:878
msgid "Sale Price History"
msgstr ""
-#: templates/js/translated/pricing.js:954
+#: templates/js/translated/pricing.js:967
msgid "No variant data available"
msgstr ""
-#: templates/js/translated/pricing.js:994
+#: templates/js/translated/pricing.js:1007
msgid "Variant Part"
msgstr ""
@@ -10566,376 +10731,376 @@ msgstr ""
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:148
msgid "Edit Stock Location"
msgstr "编辑仓储地点"
-#: templates/js/translated/stock.js:162
+#: templates/js/translated/stock.js:163
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:176
+#: templates/js/translated/stock.js:177
msgid "Are you sure you want to delete this stock location?"
msgstr "确实要删除此仓储地点吗?"
-#: templates/js/translated/stock.js:183
+#: templates/js/translated/stock.js:184
msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:192
+#: templates/js/translated/stock.js:193
msgid "Delete Stock Location"
msgstr "删除仓储地点"
-#: templates/js/translated/stock.js:196
+#: templates/js/translated/stock.js:197
msgid "Action for stock items in this stock location"
msgstr ""
-#: templates/js/translated/stock.js:201
+#: templates/js/translated/stock.js:202
msgid "Action for sub-locations"
msgstr ""
-#: templates/js/translated/stock.js:255
+#: templates/js/translated/stock.js:256
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:297
+#: templates/js/translated/stock.js:298
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:368
+#: templates/js/translated/stock.js:375
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:388
+#: templates/js/translated/stock.js:395
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:404
+#: templates/js/translated/stock.js:411
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:409
+#: templates/js/translated/stock.js:416
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:430
+#: templates/js/translated/stock.js:437
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:480
+#: templates/js/translated/stock.js:487
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:493
+#: templates/js/translated/stock.js:500
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:518
+#: templates/js/translated/stock.js:525
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:522 templates/js/translated/stock.js:523
+#: templates/js/translated/stock.js:529 templates/js/translated/stock.js:530
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:539
+#: templates/js/translated/stock.js:546
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:559
+#: templates/js/translated/stock.js:566
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:568
+#: templates/js/translated/stock.js:575
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:700
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:692
+#: templates/js/translated/stock.js:701
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:769
+#: templates/js/translated/stock.js:778
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:779
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:781
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:782
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:873
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:863
+#: templates/js/translated/stock.js:874
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:958
+#: templates/js/translated/stock.js:969
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:959
+#: templates/js/translated/stock.js:970
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:965
+#: templates/js/translated/stock.js:976
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:966
+#: templates/js/translated/stock.js:977
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:970
+#: templates/js/translated/stock.js:981
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:971
+#: templates/js/translated/stock.js:982
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:975
+#: templates/js/translated/stock.js:986
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:976 users/models.py:221
+#: templates/js/translated/stock.js:987 users/models.py:227
msgid "Add"
msgstr "添加"
-#: templates/js/translated/stock.js:980
+#: templates/js/translated/stock.js:991
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1073
+#: templates/js/translated/stock.js:1088
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1113
+#: templates/js/translated/stock.js:1128
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1140
+#: templates/js/translated/stock.js:1155
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1276
+#: templates/js/translated/stock.js:1291
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1278
+#: templates/js/translated/stock.js:1293
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1283
+#: templates/js/translated/stock.js:1298
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1330
+#: templates/js/translated/stock.js:1367
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1333
+#: templates/js/translated/stock.js:1370
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1359
+#: templates/js/translated/stock.js:1396
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1423
+#: templates/js/translated/stock.js:1460
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1589
+#: templates/js/translated/stock.js:1622
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1611
+#: templates/js/translated/stock.js:1644
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1673
msgid "In production"
msgstr "正在生产"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1677
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1652
+#: templates/js/translated/stock.js:1685
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1658
+#: templates/js/translated/stock.js:1691
msgid "No stock location set"
msgstr "未设置仓储地点"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1856
msgid "Stock item is in production"
msgstr "库存品正在生产"
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1861
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1864
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1834
+#: templates/js/translated/stock.js:1867
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1869
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1838
+#: templates/js/translated/stock.js:1871
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1841
+#: templates/js/translated/stock.js:1874
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1845
+#: templates/js/translated/stock.js:1878
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1847
+#: templates/js/translated/stock.js:1880
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1887
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1856
+#: templates/js/translated/stock.js:1889
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1858
+#: templates/js/translated/stock.js:1891
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1862
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/stock.js:1895
+#: templates/js/translated/table_filters.js:220
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1992
+#: templates/js/translated/stock.js:2025
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2029
+#: templates/js/translated/stock.js:2062
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2202
+#: templates/js/translated/stock.js:2235
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2216
+#: templates/js/translated/stock.js:2249
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2217
+#: templates/js/translated/stock.js:2250
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2449
+#: templates/js/translated/stock.js:2482
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2544
+#: templates/js/translated/stock.js:2595
msgid "Details"
msgstr "详情"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2611
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2582
+#: templates/js/translated/stock.js:2633
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2601
+#: templates/js/translated/stock.js:2652
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2671
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2638
+#: templates/js/translated/stock.js:2689
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2712
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2669
+#: templates/js/translated/stock.js:2720
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2796
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
+#: templates/js/translated/stock.js:2847 templates/js/translated/stock.js:2883
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2848
+#: templates/js/translated/stock.js:2901
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2869
+#: templates/js/translated/stock.js:2922
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2870
+#: templates/js/translated/stock.js:2923
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2872
+#: templates/js/translated/stock.js:2925
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2873
+#: templates/js/translated/stock.js:2926
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2874
+#: templates/js/translated/stock.js:2927
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2928
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2888
+#: templates/js/translated/stock.js:2941
msgid "Select part to install"
msgstr ""
@@ -10960,12 +11125,12 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:532
msgid "Has Pricing"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:211
+#: templates/js/translated/table_filters.js:215
msgid "Include sublocations"
msgstr ""
@@ -10973,218 +11138,218 @@ msgstr ""
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:465
+#: templates/js/translated/table_filters.js:149
+#: templates/js/translated/table_filters.js:150
+#: templates/js/translated/table_filters.js:469
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:158
+#: templates/js/translated/table_filters.js:512
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:246
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:253
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:254
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:250
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:171
#: templates/js/translated/table_filters.js:257
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:172
#: templates/js/translated/table_filters.js:258
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:261
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:176
-#: templates/js/translated/table_filters.js:249
-#: templates/js/translated/table_filters.js:250
+#: templates/js/translated/table_filters.js:262
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:179
+#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:253
+#: templates/js/translated/table_filters.js:254
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:180
-#: templates/js/translated/table_filters.js:271
+#: templates/js/translated/table_filters.js:184
+#: templates/js/translated/table_filters.js:275
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:437
+#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:441
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:192
+#: templates/js/translated/table_filters.js:196
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:197
+#: templates/js/translated/table_filters.js:201
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:201
+#: templates/js/translated/table_filters.js:205
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:206
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:211
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:216
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:221
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:222
+#: templates/js/translated/table_filters.js:226
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:230
msgid "In Production"
msgstr "正在生产"
-#: templates/js/translated/table_filters.js:227
+#: templates/js/translated/table_filters.js:231
msgid "Show items which are in production"
msgstr "显示正在生产的项目"
-#: templates/js/translated/table_filters.js:231
+#: templates/js/translated/table_filters.js:235
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:236
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:240
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:237
+#: templates/js/translated/table_filters.js:241
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:246
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:262
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:267
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:266
+#: templates/js/translated/table_filters.js:270
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:278
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:275
+#: templates/js/translated/table_filters.js:279
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:280
+#: templates/js/translated/table_filters.js:284
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:281
+#: templates/js/translated/table_filters.js:285
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:285
+#: templates/js/translated/table_filters.js:289
msgid "Expiry Date before"
msgstr ""
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:293
msgid "Expiry Date after"
msgstr ""
-#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:302
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:308
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:320
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:320
+#: templates/js/translated/table_filters.js:324
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:339
+#: templates/js/translated/table_filters.js:343
msgid "Build status"
msgstr "生产状态"
-#: templates/js/translated/table_filters.js:352
-#: templates/js/translated/table_filters.js:393
+#: templates/js/translated/table_filters.js:356
+#: templates/js/translated/table_filters.js:397
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:380
-#: templates/js/translated/table_filters.js:410
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:384
+#: templates/js/translated/table_filters.js:414
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:385
-#: templates/js/translated/table_filters.js:402
-#: templates/js/translated/table_filters.js:415
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:406
+#: templates/js/translated/table_filters.js:419
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:466
+#: templates/js/translated/table_filters.js:470
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:475
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:483
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:487
+#: templates/js/translated/table_filters.js:491
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:492
msgid "Part has internal part number"
msgstr "商品有内部编号"
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:496
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:516
msgid "Has stocktake entries"
msgstr ""
@@ -11512,51 +11677,51 @@ msgstr "用户"
msgid "Select which users are assigned to this group"
msgstr "选择分配给该组的用户"
-#: users/admin.py:191
+#: users/admin.py:195
msgid "The following users are members of multiple groups:"
msgstr "以下用户是多个群组的成员:"
-#: users/admin.py:214
+#: users/admin.py:218
msgid "Personal info"
msgstr "个人资料"
-#: users/admin.py:215
+#: users/admin.py:219
msgid "Permissions"
msgstr "权限"
-#: users/admin.py:218
+#: users/admin.py:222
msgid "Important dates"
msgstr "重要日期"
-#: users/models.py:208
+#: users/models.py:214
msgid "Permission set"
msgstr "权限设置"
-#: users/models.py:216
+#: users/models.py:222
msgid "Group"
msgstr "群组"
-#: users/models.py:219
+#: users/models.py:225
msgid "View"
msgstr "视图"
-#: users/models.py:219
+#: users/models.py:225
msgid "Permission to view items"
msgstr "查看项目权限"
-#: users/models.py:221
+#: users/models.py:227
msgid "Permission to add items"
msgstr "添加项目权限"
-#: users/models.py:223
+#: users/models.py:229
msgid "Change"
msgstr "更改"
-#: users/models.py:223
+#: users/models.py:229
msgid "Permissions to edit items"
msgstr "编辑项目权限"
-#: users/models.py:225
+#: users/models.py:231
msgid "Permission to delete items"
msgstr "删除项目权限"